Couchbase JsonObject到google JsonObject,反之亦然?

时间:2016-06-29 08:24:26

标签: gson couchbase jsonobject

将com.couchbase.client.java.document.json.JsonObject转换为com.google.gson.JsonObject的最佳方式是什么,反之亦然?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

还有另一种方式。

SmtpEmail

但比RawJsonDocument慢。

基准模式Cnt得分误差单位

MyBenchmark.testJsonDocument thrpt 200 81285.574±1972.377 ops / s MyBenchmark.testRawJsonDocument thrpt 200 148449.285±3639.312 ops / s

答案 2 :(得分: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;
    }
}

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

这三者中最好的。但我仍然在寻找更好的选择。