0

如果我有以下 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 Online Evaluator 创建这样的表达式,但未成功。

4

1 回答 1

0

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

祝你好运..

于 2019-07-18T17:50:38.030 回答