У меня есть файловая структура JSON, подобная этой:
{
"property1": 1,
"property2": 2,
"someArray": [
{
"item1": 1,
"item2": 2
},
{
"item1": 5
}
]
}
Все, что я хочу сделать, - это выбрать объекты из массива, который не содержит свойства item2
.Я использую NewtonsoftJson
и пытаюсь сделать это, используя путь JSON.
Мне удалось выбрать объекты, которые содержат свойство item2
, но я не знаю синтаксис для инверсии логики.
// Selects all the tokens where item2 property exists.
var tokens = jsonToken.SelectTokens("$.someArray[?(@.item2)]");
Я попытался использовать !
в части фильтра следующим образом: $.someArray[?(!@.item2)
, но выдает ошибку, говорящую, что !
- неожиданный символ.
Что мне делатьинвертировать логику выбора здесь?
Рабочий пример здесь .