在下面 Josn 我需要提取 Joe
[
{"firstName":"Joe"},
{"lastName":"boxer"}
]
我使用 jsonpath $..firstName 提取 ["Joe"] 而不是 "Joe" 即是 ["joe"] 在数组中.. 有没有办法提取 "Joe" 而不是 ["Joe"]
有一种方法适用于 JsonPath 的某些实现:
$[0]firstName
仅返回"Joe"
而不是["Joe"]
. 在Jayway JsonPath 在线模拟器上测试。
[0]
通过提供违反 jsonPath 目的的元素的确切位置,这有点对解决方案进行硬编码,但据我了解,您的问题非常具体,您希望此查询中只有一个元素,否则您会想要存储多个元素在一个数组中。
虽然此解决方案可能适用于 JsonPath 的某些版本和实现,但我强烈建议不要使用它,因为 JsonPath 并不意味着返回任何以后不能用于另一个 JsonPath 查询的结果。这就是为什么默认查询总是返回一个数组,因为数组是有效的 JSON 文档,而单个元素不是。