Есть ли способ вернуть атрибут из объекта JSON, который является результатом отфильтрованного выражения? - PullRequest
0 голосов
/ 21 июня 2019

Если у меня есть следующий JSON, я хотел бы знать, возможно ли вернуть значение "Джон", при условии, что следующее выражение фильтра $ [? (@. FirstName = "Джон")] используется для соответствия желаемому объекту.

{
  "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.Я безуспешно пытался создать такое выражение с помощью JSONPath Online Evaluator на https://jsonpath.com/.

1 Ответ

0 голосов
/ 18 июля 2019

Вы можете использовать, $.[?(@.firstName == 'John')].firstName.Помните, что не используйте https://jsonpath.com/ для оценки ваших путей JSON.Вместо этого используйте http://jsonpath.herokuapp.com/..

удачи ..

...