删除JSONPath Java中的元素

时间:2017-07-17 09:20:59

标签: java json jsonpath

我有一个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中​​某个iddetails的节点。如果我想删除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')]"); 中考虑typeid,但我不确定是否正确写入了两个过滤器表达式。我觉得我被困在这里

已编辑:已解决

确定。对于将来的参考,正确的形式如下:

details

0 个答案:

没有答案