如何使用jsonPath或替代方法从JSON结构中的childNode中查找parentNode?

我需要在JSON结构中找出childNode中的parentNode。 例如,我需要知道"view_id": "f"的父级是什么"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问题的方法,因为我的理解是jsonPath不允许我找到一个节点的parent节点:

解决方案A:

  • 将属性“parent_id”添加到JSON中的每个节点,使用jsonPath查询JSON。

解决方案B:

  • 没有使用jsonPath执行此任务,而是将JSON中的内存rap-presentation保持为“平面”数组,当填充数组时,我可以向每个节点添加“parent_id”以查找我始终需要知道的子节点其父母(根据评论建议)。 任何搜索都是使用JS在“flat”数组上完成的。