#javascript #json #jsonpath
#javascript #json #jsonpath
Вопрос:
Привет, я использую javascript-реализацию выражения пути JSON, доступного по этой ссылке
Из приведенного ниже JSON я пытаюсь получить список объектов из массива «дефисный ключ», где «внутренний дефисный ключ» = 1. Я попытался использовать для этого выражение пути в формате json «$.hyphened-key [?(@.[‘inner-hyphenedkey’] == 1 )]«. Но это выдает ошибку. Код находится в jsfiddle.
{
"nonhyphenedKey": [
{
"inner-hyphenedkey": 1
},
{
"innernonhyphenedkey": 1
}
],
"hyphened-key": [
{
"inner-hyphenedkey": 1
},
{
"inner-hyphenedkey": 2
}
{
"innernonhyphenedkey": 1
}
]
};
Пожалуйста, помогите, как это можно решить.
Большое спасибо
Ответ №1:
В реализации javascript ваше выражение фильтра ( ?(...)
блок) оценивается как обычный javascript. Поэтому вы должны использовать обычный javascript в этом выражении. Помните, @
это ссылка на текущий узел.
$.hyphened-key[?(@['inner-hyphenedkey'] == 1)]