JSON Path условно никогда не работает - не знаю почему - PullRequest
0 голосов
/ 11 октября 2019

Я не могу заставить это работать в Newtonsoft JSON.net, и при этом я не мог заставить это работать в любом приложении тестера, которое я попробовал. Я не знаю, почему это не работает. Любой вариант, который я пробую, терпит неудачу. Может кто-нибудь сказать мне, что я делаю не так?

{
  "Issue": {
    "Id": 50170,
    "NodeId": "MD=",
    "Url": "https://api.github.com",
    "HtmlUrl": "https://github.com",
    "CommentsUrl": "https://api.github.com",
    "EventsUrl": "https://api.github.com",
    "Number": 105,
    "State": {
      "StringValue": "open",
      "Value": 0
    }
  }
}

JSON PATH

$.Issue.State[?(@.Value == 0)]

или

$.Issue[?(@.State.Value == 0)]

Всегда разрешается пустой набор безсоответствует.

ОБНОВЛЕНИЕ

За комментарий ниже, спасибо Михал Зиобер, я попробовал приложение-тестер, которое использует несколько реализаций Jsonpath. Кажется, что реализации Jayway и Gatling работают, но другие нет. Newtonsoft JSON должен использовать один из менее способных парсеров. (

1 Ответ

0 голосов
/ 11 октября 2019

Попробуйте: $.Issue.State[?(@ == 0)]

Но почему вы запрашиваете это свойство?

...