@Fox said in JsonPath массивы (кеш):
-App-ID')] no
Вопрос решил через фильтры JSONpath, это было не легко. Но всё как обычно оказалось просто, в модуле JSON есть шпаргалка(линк) на тему с примерами и там как раз есть подходящий фильтр.
Всем привет!
Емеем json. Мне нужно вытащить все id со статусом state == true
Что я делаю не так в модуле json - получить все значения
$..id[?(@.state=='true')]
и даже так
id[?(@.state=="true")].value
[
{
"id": "1",
"state": "true"
},
{
"id": "2",
"state": "false"
} ,
{
"id": "3",
"state": "true"
}
]
@myweb101 said in JSONPath если содержит:
Всем привет!
Емеем json. Мне нужно вытащить все id со статусом state == true
Что я делаю не так в модуле json - получить все значения$..id[?(@.state=='true')] и даже так id[?(@.state=="true")].value[ { "id": "1", "state": "true" }, { "id": "2", "state": "false" } , { "id": "3", "state": "true" } ]
[?(@.state == "true")].id

@myweb101 said in JSONPath если содержит:
@Fox Спасибо! Работает. Но где тогда верная документация?
Тут не так
https://cheshirecaat.github.io/bas-docs/json-path/json-path-ru.html
Документация верная, у вас изначально был массив
@myweb101 said in JSONPath если содержит:
@Fox А тогда где можно посмотреть примеры работы с массивами?
Понятия не имею
@Fox а если я не знаю, что у меня точно будет написано true.
Например
[
{
"id": "1",
"state": "the true"
},
{
"id": "2",
"state": " not false"
} ,
{
"id": "3",
"state": " not true the false"
}
]
Я хочу получить id, если в state есть слово true(среди остального текста).