我有一个JSON
这样的文件:
{
"objects": [{
"type": "FirstType",
(...)
"details": {
"id": 1,
"name": "FirstElementOfTheFirstType",
"font": "18px arial"
},
"id": "18e"
},
(...)
{
"type": "SecondType",
(...)
"details": {
"id": 1,
"name": "FirstElementOfTheSecondType",
"font": "18px arial"
},
"id": "18f"
}
],
"background": "#ffffff"
}
我的目标是删除type
F.e中某个id
和details
的节点。如果我想删除type
的{{1}}和FirstType
id
的元素。我会得到:
1
我想我已经实现了这个目标:
{
"objects": [
(...)
{
"type": "SecondType",
(...)
"details": {
"id": 1,
"name": "FirstElementOfTheSecondType",
"font": "18px arial"
},
"id": "18f"
}
],
"background": "#ffffff"
}
但我想在final DocumentContext jsonContext = JsonPath.parse(element.getJsonContent());
jsonContext.delete("$['objects'][?(@.type == 'FirstType')][?(@.details.id == '1')]");
中考虑type
和id
,但我不确定是否正确写入了两个过滤器表达式。我觉得我被困在这里
已编辑:已解决
确定。对于将来的参考,正确的形式如下:
details