java 把json字符串转换为JsonObject,解析不固定格式的json字符串

今天在做项目的时候,需要把json转换为jsonObject,由于json格式不是固定的,还需要先把所有的键取出来,然后再遍历取值。

需要用到GSON,maven依赖为:


    com.google.code.gson
    gson
    2.8.5

首先把json字符串转换为jsonObject:

String json = "{ \"name\": \"Baeldung\", \"java\": true }";
JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();
 
Assert.assertTrue(jsonObject.isJsonObject());
Assert.assertTrue(jsonObject.get("name").getAsString().equals("Baeldung"));
Assert.assertTrue(jsonObject.get("java").getAsBoolean() == true);

然后再遍历jsonObject,取出所有的key:

Set keySet = jsonObject.keySet();
for (String key : keySet) {
     Object value = jsonObject.get(key);
}

这样就可以取出来了。

参考文献

[1].Convert String to JsonObject with Gson. https://www.baeldung.com/gson-string-to-jsonobject

你可能感兴趣的:(java)