java - Gson:直接将String转换为JsonObject(无POJO)

似乎无法弄清楚这一点。 我正在尝试在 GSON 中进行 JSON 树操作,但在转换为 JsonObject 之前,我不知道或有一个 POJO 可以将字符串转换为。有没有办法直接从 StringJsonObject

我尝试了以下(Scala 语法):

val gson = (new GsonBuilder).create

val a: JsonObject = gson.toJsonTree("""{ "a": "A", "b": true }""").getAsJsonObject
val b: JsonObject = gson.fromJson("""{ "a": "A", "b": true }""", classOf[JsonObject])

a 失败,JSON 被转义并仅解析为 JsonString,并且 b 返回一个空的 JsonObject

有什么想法吗?

最佳答案

使用 JsonParser;例如:

JsonObject o = JsonParser.parseString("{\"a\": \"A\"}").getAsJsonObject();

https://stackoverflow.com/questions/4110664/

相关文章:

python - 从文件中读取 JSON

javascript - 什么是 $$hashKey 添加到我的 JSON.stringify 结果

javascript - 如何获取对象长度

javascript - 如何将 json POST 数据作为对象传递给 Web API 方法?

json - 未捕获的语法错误意外 token U JSON

json - 如何在 Express 应用程序中使用 JSON POST 数据

java - 如何遍历 JSONObject?

json - 如何在 JSON 中转义双引号

python - 如何从 JSON 获取字符串对象而不是 Unicode

java - 仅在序列化期间使用@JsonIgnore,而不是反序列化