2016-06-29 4 views

答えて

0

現在、私は次のようにしています。

public RawJsonDocument put(final String key, final JsonObject googleJsonObject) {  
    return bucket.upsert(RawJsonDocument.create(key, googleJsonObject.toString())); 
} 

public String get(final String key) { 
    RawJsonDocument d = bucket.get(RawJsonDocument.create(key)); 
    if (d != null) { 
     return d.content().toString(); 
    } 
    return null; 
} 

参考:https://forums.couchbase.com/t/how-to-convert-a-java-object-to-jsonobject-type-of-couch-base/4255

0

別の方法があります。

public JsonDocument put(final String key, final JsonObject googleJsonObject) { 
    try { 
     JsonDocument document = JsonDocument.create(key, 
       com.couchbase.client.java.document.json.JsonObject.fromJson(googleJsonObject.toString())); 
     return bucket.upsert(document); 
    } catch (Throwable th) { 
     return null; 
    } 
} 

public String get(final String key) { 
    JsonDocument d = bucket.get(JsonDocument.create(key)); 
    if (d != null) { 
     return d.content().toString(); 
    } else { 
     return null; 
    } 
} 

しかし、RawJsonDocumentよりも遅いです。

ベンチマークモードのCNTスコアエラー単位

MyBenchmark.testJsonDocument 200 81285.574±1972.377オプスthrpt/sの MyBenchmark.testRawJsonDocument 200 148449.285±3639.312オプスthrpt/sの

0

別の方法 public JsonStringDocument put(final String key, final JsonObject googleJsonObject) { try { JsonStringDocument document = JsonStringDocument.create(key, googleJsonObject.toString()); return bucket.upsert(document); } catch (Throwable th) { return null; } }

public String get(final String key) { 
    JsonStringDocument d = bucket.get(JsonStringDocument.create(key)); 
    if (d != null) { 
     return d.content().toString(); 
    } else { 
     return null; 
    } 
} 

この1つはすべての3つの中で最高です。しかし、まだ私はより良い選択肢を探しています。