0

我正在尝试使用 JSONPath(Jayway 实现)来获取包含值数组的对象,该数组至少包含 1 个非空值。这是我从某些服务中获得的简化数据:

[
  {
    "feature" : "city",
    "values" : [
      {
        "value" : "cba"
      },
      {},
      {
        "value" : "abc"
      }
    ]
  },
  {
    "feature" : "country",
    "values" : [
      {},
      {}
    ]
  }
]

我有几十种疯狂的方法。

  1. 获取具有 value 属性的对象
$.[?(@..value)]

但这没有过滤任何东西,我仍然可以看到两个对象,而不仅仅是一个。

  1. 我也尝试按过滤后values数组的长度进行过滤,但它也不起作用,并返回一个空列表:
$.[?(@.values[?(@.value)].length()>1)]

我正在尝试使用来自jsonpath.herokuapp.com的在线评估器来解决它 我一直在搜索很多,似乎无法获得过滤数组的长度,但第一种方法看起来应该可行. 有任何想法吗?

4

0 回答 0