2016-06-29 2 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보다 느립니다.

벤치 마크 모드 탄소 나노 튜브 점수 오류 단위

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; 
    } 
} 

이 하나는 세 가지 모두에서 가장 좋습니다. 하지만 여전히 더 나은 옵션을 찾고 있습니다.