我正在尝试使用 JSONPath(Jayway 实现)来获取包含值数组的对象,该数组至少包含 1 个非空值。这是我从某些服务中获得的简化数据:
[
{
"feature" : "city",
"values" : [
{
"value" : "cba"
},
{},
{
"value" : "abc"
}
]
},
{
"feature" : "country",
"values" : [
{},
{}
]
}
]
我有几十种疯狂的方法。
- 获取具有 value 属性的对象
$.[?(@..value)]
但这没有过滤任何东西,我仍然可以看到两个对象,而不仅仅是一个。
- 我也尝试按过滤后
values
数组的长度进行过滤,但它也不起作用,并返回一个空列表:
$.[?(@.values[?(@.value)].length()>1)]
我正在尝试使用来自jsonpath.herokuapp.com的在线评估器来解决它 我一直在搜索很多,似乎无法获得过滤数组的长度,但第一种方法看起来应该可行. 有任何想法吗?