Couchbase:如何从字符串创建JsonObject

时间:2014-12-02 15:05:37

标签: java json couchbase

如何轻松地将JSON对象的字符串表示形式转换/解析为com.couchbase.client.java.document.json.JsonObject的实例?

2 个答案:

答案 0 :(得分:4)

您可以使用JsonTranscoder(API document)来执行此操作。

String rawJson = "{\"companyname\":\"Apple\",\"employees\":[{\"name\":\"Steve\",\"age\":48},{\"name\":\"Michael\",\"age\":39}]}";
JsonTranscoder trans = new JsonTranscoder();
JsonObject jsonObj = trans.stringToJsonObject(rawJson);

希望这有帮助:)

答案 1 :(得分:3)

编辑,简短回答:如果你已经以字符串形式拥有Json,我会跳过JsonObject并直接通过RawJsonDocument存储字符串。如果你想在获取字符串并存储它之间使用JsonObject来读取/写入Json中的字段,请参阅 Flame113's answerJsonTranscoder)。

在Couchbase Java SDK 2.x中,JsonObject是用于以简化方式使用JSON的类。您可以使用它来构造格式良好的JSON,允许的类型有限的子集如下:

JsonObject myJson = JsonObject.create()
    .put("name", "bob")
    .put("age", 23)
    .put("role", "something");

版本2.0.1包含工厂方法,可以从JsonObject.from(Map<String, ?>)

等集合创建它们

请注意,RawJsonDocument允许您将一些原始JSON存储/检索为字符串。 通过工厂方法支持String到JsonObject的转换可能会在未来的版本中出现,可能不会在2.1之前出现。