com.couchbase.client.java.document.json.JsonObject에서 com.google.gson.JsonObject로 또는 그 반대로 변환하는 가장 좋은 방법은 무엇입니까?Google Base JsonObject에 대한 Couchbase JsonObject 및 그 반대로?
0
A
답변
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;
}
}
이 하나는 세 가지 모두에서 가장 좋습니다. 하지만 여전히 더 나은 옵션을 찾고 있습니다.