如何解决jsonPath - 按索引访问字段的问题
我尝试通过从 Carrier
获取值来访问值 shipping_id
。我在 https://www.jsonquerytool.com/ 测试查询。如果我手动键入密钥 $.shipping_methods["11"]
或 $.shipping_methods.11
,我会收到正确的结果 ["Carrier"]
。但是我在从 shipping_id
字段中获取键值时遇到问题。我尝试了这个 $.shipping_methods[$.shipping_id]
的许多变体,但没有成功。可以使用纯 jsonPath 吗?
{
"shipping_id":"11","shipping_methods":{
"10":"Post","11":"Carrier"
}
}
解决方法
根据您使用的 JSON-Path 实现/环境,这可能或不可能。这是因为您要求的功能不属于 proposed standard,尽管某些库具有启用此类查询的功能,例如在 JSONPath-Plus 中,您可以使用 @property
和 @parent
(我使用 @root
没有成功) - 但这些是“扩展”:
$.shipping_methods[?(@property == @parent.shipping_id)]
您可以测试此online here。
您链接的页面在后台使用了 JSPath,我看不到自述文件中提到的任何必需功能。使用承载 JSON-Path 引擎的通用编程语言进行深入研究会更简单,但不确定此处是否可以选择。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。