Фильтрация JMESPath - PullRequest
       21

Фильтрация JMESPath

0 голосов
/ 09 июня 2018

JMESPath - это язык запросов для JSON, используемый Azure.

Используя собственный пример из http://jmespath.org/

{
  "locations": [
    {"name": "Seattle", "state": "WA"},
    {"name": "New York", "state": "NY"},
    {"name": "Bellevue", "state": "WA"},
    {"name": "Olympia", "state": "WA"}
  ]
}

Как перечислить все местоположения, в названии которых есть буква "l" или строка "le"?Спасибо.

1 Ответ

0 голосов
/ 13 июня 2018

Фильтрация по символам и по строкам работает одинаково.


местоположения запросов с именами, содержащими "l"

locations[?name.contains(@, `l`)]

Результат:

[
  {
    "name": "Seattle",
    "state": "WA"
  },
  {
    "name": "Bellevue",
    "state": "WA"
  },
  {
    "name": "Olympia",
    "state": "WA"
  }
]

местоположения запросов с именами, содержащими "le"

locations[?name.contains(@, `le`)]

Результат:

[
  {
    "name": "Seattle",
    "state": "WA"
  },
  {
    "name": "Bellevue",
    "state": "WA"
  }
]

местоположений запросовс именами, содержащими "ue" или "ia"

locations[?name.contains(@, `ue`) || name.contains(@, `ia`)]

Результат:

[
  {
    "name": "Bellevue",
    "state": "WA"
  },
  {
    "name": "Olympia",
    "state": "WA"
  }
]
...