是否有一种方法可以从JSON对象返回经过过滤的表达式得到的属性?

时间:2019-06-20 21:55:54

标签: jsonpath json-path-expression

如果我具有以下JSON,我想知道是否可以返回值“ John”,前提是使用以下过滤器表达式$ [?(@。firstName =“ John”)]来匹配所需的对象

{
  "firstName": "John",
  "lastName" : "doe",
  "age"      : 26,
  "address"  : {
    "streetAddress": "naist street",
    "city"         : "Nara",
    "postalCode"   : "630-0192"
  },
  "phoneNumbers": [
    {
      "type"  : "iPhone",
      "number": "0123-4567-8888"
    },
    {
      "type"  : "home",
      "number": "0123-4567-8910"
    }
  ]
}

换句话说,使用jsonpath表达式可以同时具有条件过滤器并从匹配的json对象返回属性值。我尝试使用https://jsonpath.com/上的JSONPath在线评估器未能成功创建这样的表达式。

1 个答案:

答案 0 :(得分:0)

您可以使用$.[?(@.firstName == 'John')].firstName。请记住,不要使用https://jsonpath.com/来评估您的JSON路径。改为使用http://jsonpath.herokuapp.com/ ..

祝你好运。