@ivandao

Как составить jsonpath запрос?

var cities = [
  { name: "London", "population": 8615246 },
  { name: "Berlin", "population": 3517424 },
  { name: "Madrid", "population": 3165235 },
  { name: "Rome",   "population": 2870528 }
];

var jp = jsonpath; //  для краткости
var names = jp.query(cities, '$..name');
console.log(names); // [ "London", "Berlin", "Madrid", "Rome" ]


Как получить название города, население которого равно 2870528?
  • Вопрос задан
  • 570 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
$[?(@.population == 2870528)].name

Попробовать можно на jsonpath.com
скрин
5d2f068690488541075820.png


См. язык запросов. Фильтр ?( условие )
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@alekssamos
Программист любитель
Может быть как-нибудь так? '["population"=2870528]'
Ответ написан
Комментировать
@Roman-Fov
Json
{
  "cities": [
      { "name": "London", "population": 8615246 },
      { "name": "Berlin", "population": 3517424 },
      { "name": "Madrid", "population": 3165235 },
      { "name": "Rome",   "population": 2870528 }
  ]
}

Query
$.cities[?(@.population == 8615246)] }
Result
[
  {
    "name": "London",
    "population": 8615246
  }
]


Оно?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы