2012-03-01 11 views
1

GoogleのJSONライブラリ(Gson)を使用してMemcachedにJavaオブジェクトを格納することは幸運でした。私は任意のJavaオブジェクトを取ることができ、それをGsonで直列化し、Memcachedでキャッシュします。後で私はmemcachedからJSONを取得し、同じタイプのオブジェクトに逆シリアル化することができます。Gsonを使用するcouchdb Javaクライアントはありますか?

私はcouchdbとよく似たことをしたいと思います。

couchdb.storeDocument("user12345", myAppUser); 
MyAppUser user = couchdb.getDocument("user12345", MyAppUser.class); 

答えて

3

EKTORP:http://ektorp.org/

はジャクソンに基づいていますが、生のアクセスaswellを提供します。ここでhttp://www.lightcouch.org/

から

LightCouchは、クライアント http://www.lightcouch.org/javadocs/org/lightcouch/CouchDbClient.html のjavadocで、それは以下のメソッドを持っています: 、org.ektorp.CouchDbConnector:

私はほとんどの場合、オブジェクトにマップメソッドを使用しないように何らかの正当な理由が表示されない、と述べた
InputStream getAsStream(String s) 

InputStream queryForStream(ViewQuery query); 

<T> T get(Class<T> c, String id); 
0

あなたは、文字列またはバイト[]のいずれかとしてデータにアクセスすることができるはずと:JSONなどのCouchDB保存文書は、私は、私は店を持っており、このようなドキュメントを取得するCouchDBのクライアントを見つけることができると思うだろうバインドするには、Java JSONライブラリー(別の良いものはJackson)を使用します。 2つの部分が密接に結合する必要は厳密にはない。

+0

は、生の文字列またはバイトを返すことができCouchDBのクライアントがあり、[] ? Java用の約10のcouchdbクライアントがあり、私が見てきたものにはオブジェクトマッピングが組み込まれている傾向があります。生データを取得して設定する方法に気づいていません。私は確かにシリアライズとデシリアライゼーションを自分でやっても構いません。私はすでにmemcachedのためにそれをやっています。 –

+0

私はそう思います。他の答えは本当に良いクライアントのように見えるEktorpに言及しました。だから、私は私の答えを変えなければならないかもしれません。 :-) – StaxMan

3

私が望んでいたのとまったく同じものが見つかりました!

<T> T find(Class<T> classType, String id) 
    Response save(Object object) 
+0

これはどのように実装されているかを確認してください:データバインディングライブラリ(ほとんどの場合)を使用するか、カスタムスキームを実装するか(プレアルファ版の場合は正しいと思います...) – StaxMan

+1

少し注意してください、バージョンはGAです。 – ahmedyha

関連する問題