我有一些动态 JSON,在处理之前我不知道完整的结构。
但是,我知道 JSON 可能包含某些感兴趣的嵌套元素。
e. 对于这个示例有效载荷
{
"id": "3334343",
"contractor": {
"ppsNo": "123334"
},
"fullTimeStaff":{
"ppsNo": "343434"
}
}
我想找到包含名为ppsNo的元素的所有外部元素的名称。
我曾尝试使用root.findParents("ppsNo")但这给了我 ppsNo 元素,而不是我感兴趣的承包商和fullTimeStaff的外部(父)元素。
ObjectMapper objectMapper = new ObjectMapper();
String payload = "{\n" +
" \"id\": \"3334343\",\n" +
" \"contractor\": {\n" +
" \"ppsNo\": \"123334\"\n" +
" },\n" +
" \"fullTimeStaff\":{\n" +
" \"ppsNo\": \"123334\"\n" +
" }\n" +
"}";
JsonNode root = objectMapper.readTree(payload);
List<JsonNode> nodes = root.findParents("ppsNo");
返回的 JsonNodes 是{"ppsNo":"123334"}元素而不是外部包含节点(“contractor”和“fullTimeStaff”)。
有没有办法做到这一点?我曾研究过使用 JSON 路径,但我看不到一种明显的方法来使用它来获取真正的父(包含/外部)元素。
我在这个例子中使用杰克逊,但我对替代品持开放态度
慕少森
慕田峪9158850
慕勒3428872
相关分类