如何使用jsonPath或替代方法从JSON结构的childNode中找到parentNode? [英] How to find parentNode from childNode in a JSON structure using jsonPath or an alternative?

查看:629
本文介绍了如何使用jsonPath或替代方法从JSON结构的childNode中找到parentNode?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从JSON结构的childNode中找出一个parentNode.例如,我需要知道"view_id": "f"的父级.

I need to find out a parentNode from childNode in a JSON structure. For example I need to know what is the parent for "view_id": "f".

我正在评估 jsonPath ,但找不到父运算符.

I am evaluating jsonPath but I cannot find a parent operator.

我想现在:

  • jsonPath是否具有父运算符或具有可以类似地使用的替代运算符?
  • 是否没有其他替代库或解决方案?

您可以在此处测试JSON结构: http://jsonpath.curiousconcept.com/

You can test JSON structure here: 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:

I found two possible solutions to this specif problem as for my understanding jsonPath does not allow me to find the parent for a node:

解决方案A:

  • 向JSON中的每个节点添加属性"parent_id",然后使用jsonPath查询JSON.

解决方案B:

  • 不使用jsonPath来执行此任务,而是将JSON在内存中的rap表示形式保存为平面"数组,在填充数组时,我可以向每个节点添加一个"parent_id",以查找我始终会找到的子节点需要了解其父级(如评论所建议).任何搜索都是使用JS在平面"数组上完成的.

这篇关于如何使用jsonPath或替代方法从JSON结构的childNode中找到parentNode?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆