[英]Access json nested element directly in java
I have json string i want to direclty access element like childMap4.childMap3.ch3Name
and my json string is i am not able find proper solutions.我有 json 字符串,我想直接访问childMap4.childMap3.ch3Name
类的元素,而我的 json 字符串是我找不到合适的解决方案。
{
"is working": true,
"childMap4": {
"childMap3": {
"childMap2": {
"childMap1": {
"ch1Name": "childMap1"
},
"ch2Name": "childMap2"
},
"ch3Name": "childMap3 testing"
},
"ch4Name": "childMap4"
},
"prName": "parentMap",
"salary": 800.23,
"prName2": "parentMap field 2",
"age": 24
}
If you just want to extract the value, you should take a look at JsonPath.如果你只是想提取值,你应该看看 JsonPath。 Just use the method JsonPath.read([json_object], [expression])
with expression $.childMap4.childMap3.ch3Name
.只需使用带有表达式$.childMap4.childMap3.ch3Name
的方法JsonPath.read([json_object], [expression])
。
Another approach would be to create proper mapping class and deserialize JSON string with a library like Jackson, but if you want just single field value taht would be an overkill.另一种方法是创建正确的映射 class 并使用 Jackson 之类的库反序列化 JSON 字符串,但如果您只想要单个字段值 taht 会过分。
JsonNode jsonNode = mapper.convertValue(Obj, JsonNode.class); JsonNode jsonNode = mapper.convertValue(Obj, JsonNode.class);
jsonNode.path("childMap4").path("childMap3").path("ch3Name").toString(); jsonNode.path("childMap4").path("childMap3").path("ch3Name").toString();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.