【发布时间】:2013-09-05 06:37:33
【问题描述】:
如何获得对象所有子节点的 JSONPath?
例如:
var data = [{
"key1": {
"children": [{
"key2": "value",
"key3": "value",
"key4": {}
}, {
"key2": "value",
"key3": "value",
"key4": {}
}],
"key5": "value"
}
}, {
"key1": {
"children": {
"key2": "value",
"key3": "value",
"key4": {}
},
"key5": "value"
}
}]
我想获取数据结构中所有节点的绝对路径作为一个数组:
[
"data[0]['key1']['children'][0]['key2']",
"data[0]['key1']['children'][0]['key3']",
"data[0]['key1']['children'][0]['key4']",
......,
"data[0]['key1']['children'][1]['key2']",
.......,
"data[1]['key1']['children']['key2']",
..........
]
有没有办法在 JS 中完成这项工作?
【问题讨论】:
-
是的,我想有很多方法可以做到这一点......你在哪里卡住了?
-
好的,我理解“JSONPath”一词(根据标签描述,它是有道理的(与 XPath 和 XML 的比较似乎很合适))。但是您的示例中没有使用 JSON,因此我将相应地编辑您的问题。
-
我对如何纠正递归函数感到困惑。
-
这有帮助吗? code.google.com/p/jsonpath
标签: javascript jquery jsonpath