The*_*Dr. 5 java json jackson gson
假设我有这个JSON文件:
{
"level1" :{
"type": "x"
},
"level2" :{
"level3": {
"level3": {
"type" : "Y"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
通过使用Jackson,如何获得type = Y值?
也可以通过使用 gson.jar
到目前为止,我尝试过的是:
ObjectMapper ob = new ObjectMapper();
String jsonContent = "...";
JsonNode root = ob.readTree(jsonContent)
root.path("level1"); //return results fine
root.path("level2").path("level3"); //not return any results
root.path("level2/level3"); //not return any results
Run Code Online (Sandbox Code Playgroud)
您的 JSON 无效,因为您没有用key:value逗号分隔对,如http://json.org,中所示
所以将你的 JSON 更改为
{
"level1" :{
"type": "x"
}, <-- add this comma
"level2" :{
"level3": {
"level3": {
"type" : "Y"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在你应该可以使用
JsonNode root = new ObjectMapper().readTree(jsonContent);
root.path("level2")
.path("level3")
.path("level3");
Run Code Online (Sandbox Code Playgroud)
使用 Gson 你的代码看起来像
JsonObject root = new JsonParser().parse(jsonContent).getAsJsonObject();
root.getAsJsonObject("level2")
.getAsJsonObject("level3")
.getAsJsonObject("level3");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
757 次 |
| 最近记录: |