JSON 路径条件似乎永远不会起作用 - 不确定为什么
JSON Path conditional never seems to work - Unsure why
我无法在 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 路径
$.Issue.State[?(@.Value == 0)]
或
$.Issue[?(@.State.Value == 0)]
它总是解析为没有匹配项的空集。
更新
根据下面的评论,感谢 Michał Ziober,我尝试了一个使用 Jsonpath 的多个实现的测试应用程序。似乎 Jayway 和 Gatling 实现有效,但其他的没有。 Newtonsoft JSON 一定是在使用功能较差的解析器之一。 :(
试试这个:
$.Issue.State[?(@ == 0)]
但是你为什么要查询那个 属性?
我无法在 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 路径
$.Issue.State[?(@.Value == 0)]
或
$.Issue[?(@.State.Value == 0)]
它总是解析为没有匹配项的空集。
更新
根据下面的评论,感谢 Michał Ziober,我尝试了一个使用 Jsonpath 的多个实现的测试应用程序。似乎 Jayway 和 Gatling 实现有效,但其他的没有。 Newtonsoft JSON 一定是在使用功能较差的解析器之一。 :(
试试这个:
$.Issue.State[?(@ == 0)]
但是你为什么要查询那个 属性?