Javascript 使用jsonpath查询获取父对象
我的json如下所示:Javascript 使用jsonpath查询获取父对象,javascript,json,regex,xpath,jsonpath,Javascript,Json,Regex,Xpath,Jsonpath,我的json如下所示: { "data": [ { "name": "product1", "details": ["lorem ipsum", [ { "code": "prd1" }, { "code": "prd11" }] ] }, {
{
"data": [
{
"name": "product1",
"details": ["lorem ipsum", [
{
"code": "prd1"
},
{
"code": "prd11"
}]
]
},
{
"name": "product2",
"details": ["lorem ipsum", [
{
"code": "prd2"
},
{
"code": "prd22"
}]
]
}
]
}
我想根据代码检索产品的名称,所以
我写了这个查询
$.data..[?(@.code=="prd1")]
结果:
[
{
"code": "prd1"
}]
预期结果:
[{name: "product1"}]
您应该向上移动树,直到到达特定键的值。
首先,我们需要到达第一个命名的祖先,即
详细信息
,然后-获取其第一个父级,该父级保存所需的名称
属性。这可以使用
祖先()
函数和父级()
函数完成:
$.data..[?(@.code=="prd1")].ansector("details").parent()['name'];
您应该向上移动树,直到到达特定键的值。
首先,我们需要到达第一个命名的祖先,即
详细信息
,然后-获取其第一个父级,该父级保存所需的名称
属性。这可以使用
祖先()
函数和父级()
函数完成:
$.data..[?(@.code=="prd1")].ansector("details").parent()['name'];
感谢您的响应,但我正在使用本机jsonpath查询(我认为ansector和parent是JS函数)感谢您的响应,但我正在使用本机jsonpath查询(我认为ansector和parent是JS函数)