首页 > 解决方案 > 如何获取未知json对象结构的Json键值

问题描述

我有一个 JSON 对象数组,但它的结构是未知的。我已经知道如何获取值并根据值生成代码

    "memberjson": [{
        "company": {
            "employee": {
                "software": {
                    "employeetype": "permanent"
                },
                "type1": "401",
                "type2": "541"
            }
        }
    }, {
        "trust": {
            "people": {
                "contract": {
                    "type": "available"
                },
                "type4": "4541",
                "type5": "58771"
            }
        }
    }]

}

如何获取值但是我可以要求提供路径示例

JSON 路径 1:company.employee.software.employeetype

JSON 路径 2:trust.people.contract.type^trust.people.type4^trust.people.contract.type4

根据我需要获得价值的路径。

我需要以哪种格式存储路径以便我可以轻松获取值,或者请建议我是否有任何其他方式来获取未知结构的值

另外,我需要从上面的 JSON 生成代码:

例如:对于 JSON 路径 1:company.employee.software.employeetype^employee.company.type1^ ^employee.company.type2 "generatedkey"=company.employee.software.employeetype+employee.company.type1+employee.company.type2

最终答案:“generatedkey”:“permanent401541”

JSON路径2:trust.people.contract.type^trust.people.type4^trust.people.contract.type4 "generatedkey"=trust.people.contract.type+trust.people.type4+trust.people.contract.type4

最终答案:“生成密钥”:“available454158771”

我试图根据路径进行迭代

标签: javajson

解决方案


有一个名为 JSON Path https://www.npmjs.com/package/jsonpath的库,在这里您可以为路径编写正则表达式以获取值

要测试使用这个名为json path evaluator https://jsonpath.com/的在线工具来验证您的路径


推荐阅读