JSONPath中的多个过滤器

时间:2016-06-24 19:46:19

标签: json filter jsonpath

我正在尝试使用JSONPath提取数据,并使用多个过滤器。

在下面的JSON中,有些有'program.seriesId',有些则没有。我想提取没有'program.seriesId'

的第一个'值'

当我将JSONPath放在JSON评估器http://jsonpath.com/中时:

$.data[?(@.program.seriesId)].value

我得到123和345.但是我只想要123的第一个“值”。

我尝试了以下多个过滤器JSONPaths,但都没有返回匹配项:

$.data[?(@.program.seriesId)][0].value
$.data[?(@.program.seriesId) && 0].value
$.data[?(@.program.seriesId) and 0].value

返回第一个'value'的JSONPath查询是什么,没有'program.seriesId'?

{
    "data": [
    {
        "value": "123",
        "program": {
            "id": "011",
            "seriesId": "111"
        }
    },
    {
        "value": "234",
        "program": {
            "id": "022"
        }
    },
    {
        "value": "345",
        "program": {
            "id": "033",
            "seriesId": "333"
        }
    }]
}

1 个答案:

答案 0 :(得分:0)

遇到此问题时,我还从对象数组中搜索pressureAccuracy对象。

我发现当前无法获得基于索引的结果。 Github Open issue link,已经开放一年多了。

否则可能是这样的,

1st result