-1

在下面 Josn 我需要提取 Joe

[
    {"firstName":"Joe"},
    {"lastName":"boxer"}
  ]

我使用 jsonpath $..firstName 提取 ["Joe"] 而不是 "Joe" 即是 ["joe"] 在数组中.. 有没有办法提取 "Joe" 而不是 ["Joe"]

4

1 回答 1

1

有一种方法适用于 JsonPath 的某些实现:

$[0]firstName

仅返回"Joe"而不是["Joe"]. 在Jayway JsonPath 在线模拟器上测试。

[0]通过提供违反 jsonPath 目的的元素的确切位置,这有点对解决方案进行硬编码,但据我了解,您的问题非常具体,您希望此查询中只有一个元素,否则您会想要存储多个元素在一个数组中。

虽然此解决方案可能适用于 JsonPath 的某些版本和实现,但我强烈建议不要使用它,因为 JsonPath 并不意味着返回任何以后不能用于另一个 JsonPath 查询的结果。这就是为什么默认查询总是返回一个数组,因为数组是有效的 JSON 文档,而单个元素不是。

于 2019-09-07T08:44:42.693 回答