1. ホーム

[解決済み】Gson: StringをJsonObjectに直接変換する(POJOなし)

2022-04-17 05:06:37

質問

これがなかなかわからない。 GSONでJSONツリーを操作しようとしているのですが、文字列を変換するためのPOJOを知らない、あるいは持っていない場合、事前に JsonObject . を直接操作する方法はありますか? String から JsonObject ?

以下のように試してみました(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();