我需要从 JSON 结构中的子节点中找出一个父节点。例如,我需要知道 "view_id": "f"
的父项是什么。
我正在评估 jsonPath但我找不到父运算符。
我现在想:
- jsonPath 是否有一个父运算符或有一个可以类似地使用的替代运算符?
- 如果没有任何替代库或解决方案?
您可以在这里测试 JSON 结构:http://jsonpath.curiousconcept.com/
[
{
"view_id": "a",
"views": [
{
"view_id": "b",
"views": [
{
"view_id": "c"
},
{
"view_id": "d"
}
]
},
{
"view_id": "e",
"views": [
{
"view_id": "f"
},
{
"view_id": "g"
}
]
},
{
"view_id": "h"
}
]
},
{
"view_id": "i",
"views": [
{
"view_id": "l",
"views": [
{
"view_id": "m",
"views": [
{
"view_id": "n"
},
{
"view_id": "o"
}
]
}
]
},
{
"view_id": "p"
}
]
},
{
"view_id": "q"
}
]
最佳答案
根据我的理解,jsonPath
不允许我找到节点的 parent
:
解决方案 A:
- 为 JSON 中的每个节点添加属性“parent_id”,使用 jsonPath 查询 JSON。
解决方案 B:
- 不为此任务使用 jsonPath,而是将 JSON 的内存中的 rap-presentation 保存为“平面”数组,在填充数组时,我可以向每个节点添加一个“parent_id”以查找子节点我总是需要知道它的 parent (如评论中所建议的)。任何搜索都是使用 JS 在“平面”数组上完成的。
关于javascript - 如何使用 jsonPath 或替代方法从 JSON 结构中的 childNode 查找 parentNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28234347/