使用JSONPath提取属性的子集

Spa*_*ffo 17 json jsonpath

我有这个JSON代码:

{
    "A": {
        "AB": [{
            "ABA": "0",
            "ABB": "1",
            "ABC": "2"
        }]
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要使用一个JSONPath表达式,该表达式返回仅具有ABA和ABC属性的JSON.就像是:

{
    "A": {
        "AB": [{
            "ABA": "0",
            "ABC": "2"
        }]
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我设法提取一个或所有属性.例如

$.A.AB[*]
Run Code Online (Sandbox Code Playgroud)

要么

$.A.AB[*].ABA
Run Code Online (Sandbox Code Playgroud)

有没有办法只提取两个?

谢谢

小智 29

这将使用Jayway实现(Java):

$.A.AB[*]['ABB', 'ABA']
Run Code Online (Sandbox Code Playgroud)

并且您输入的结果将是:

[
   {
      "ABB" : "1",
      "ABA" : "0"
   }
]
Run Code Online (Sandbox Code Playgroud)

您可以在此比较不同的提供商:

http://jsonpath.herokuapp.com/