Extracting a subset of attributes with JSONPath

2019-03-18 10:21发布

I have this JSON code:

{
    "A": {
        "AB": [{
            "ABA": "0",
            "ABB": "1",
            "ABC": "2"
        }]
    }
}

I need to use a JSONPath expression that returns that JSON with only ABA and ABC attributes. Something like:

{
    "A": {
        "AB": [{
            "ABA": "0",
            "ABC": "2"
        }]
    }
}

So far I manage to extract either one or all attributes. For example

$.A.AB[*]

or

$.A.AB[*].ABA

Is there a way to extract only two?

Thanks

标签: json jsonpath
1条回答
男人必须洒脱
2楼-- · 2019-03-18 10:59

This will work using the Jayway implementation (Java):

$.A.AB[*]['ABB', 'ABA']

and the result for your input would be:

[
   {
      "ABB" : "1",
      "ABA" : "0"
   }
]

You can Compare different providers here:

http://jsonpath.herokuapp.com/

查看更多
登录 后发表回答