我有一个 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^ ^员工.公司.type2 “生成的密钥”=company.employee.software.employeetype+employee.company.type1+employee.company.type2
最终答案: “生成的密钥”:“永久401541”
JSON 路径 2:trust.people.contract.type^trust.people.type4^trust.people.contract.type4 “生成密钥”=trust.people.contract.type+trust.people.type4+trust.people.contract.type4
最终答案: “生成的密钥”:“可用454158771”
我尝试根据路径进行迭代
有一个叫做 JSON Path 的库https://www.npmjs.com/package/jsonpath,在这里你可以为路径编写正则表达式来获取值
要进行测试,请使用名为
json path evaluator
的在线工具 https://jsonpath.com/ 来验证您的路径
https://github.com/json-path/JsonPath
如果您需要帮助,请在 Stack Overflow 上提问。标记问题“jsonpath”和“java”。
JsonPath 表达式始终引用 JSON 结构,就像 XPath 表达式与 XML 文档结合使用一样。 JsonPath 中的“根成员对象”始终被称为 $,无论它是对象还是数组。
JsonPath 表达式可以使用点符号
$.store.book[0].title
或括号符号
$['商店']['书'][0]['书名']