是否可以验证JSONPath表达式?
我想知道是否可以验证JSONPath表达式 我的JSONPath是是否可以验证JSONPath表达式?,jsonpath,Jsonpath,我想知道是否可以验证JSONPath表达式 我的JSONPath是$。电话号码[:1]。键入 我的json如下所示: { "phoneNumbers": [ { "type" : "iPhone", "number": "0123-4567-8888" }, { "type" : "home", "number": "0123-4567-8910" } ] } 我想知道我是否
$。电话号码[:1]。键入
我的json如下所示:
{
"phoneNumbers": [
{
"type" : "iPhone",
"number": "0123-4567-8888"
},
{
"type" : "home",
"number": "0123-4567-8910"
}
]
}
我想知道我是否使用了正确/有效的JSONPath表达式。您可以在那里尝试
也可以用编程语言来实现
下面是如何在Ruby中使用jsonpath gem实现这一点:
require 'jsonpath'
data=<<-EOS
{ "phoneNumbers":
[
{
"type" : "iPhone",
"number": "0123-4567-8888"
},
{
"type" : "home",
"number": "0123-4567-8910"
}
]
}
EOS
JsonPath.new("$.phoneNumbers[:1].type").on(data)
需要“jsonpath”
data=@paraga-A-我刚刚编写了一个javascript库,您可以使用XPath查询JSON结构(与JSONPath相反,它是标准化的)。使用此XPath计算器,您可以粘贴到JSON结构中,并在适当的位置验证XPath查询:
将您的问题和答案放在javascript代码中,看起来如下所示:
var obj = {
"phoneNumbers": [
{
"type" : "iPhone",
"number": "0123-4567-8888"
},
{
"type" : "home",
"number": "0123-4567-8910"
}
]
};
var qry = JSON.search(obj, '//phoneNumbers[1]/type');
// qry[0] = 'iPhone'
Defiant扩展了全局对象JSON,搜索方法总是返回一个带有匹配选择的数组(如果没有找到匹配项,则返回空数组)。“正确”和“有效”是两个不同的东西——如果尝试使用无效的JSONPath,您可能会出错,但您是唯一能够评估JSONPath是否“正确”的人因为除了你之外,没有人知道你在用你的路径选择什么。