微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jsonPath - 按索引访问字段的问题

如何解决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 举报,一经查实,本站将立刻删除。