java 把json字符串转换为JsonObject,解析不固定格式的json字符串
原创
©著作权归作者所有:来自51CTO博客作者是念的原创作品,请联系作者获取转载授权,否则将追究法律责任
今天在做项目的时候,需要把json转换为jsonObject,由于json格式不是固定的,还需要先把所有的键取出来,然后再遍历取值。
需要用到GSON,maven依赖为:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
首先把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<String> 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