簡體   English   中英

JSONPath中的多個過濾器

[英]Multiple filters in 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"
        }
    }]
}

當我遇到這個問題時,我還在搜索從對象數組中打印1st result對象。

我發現目前無法獲得基於索引的結果。 Github Open問題鏈接 ,自一年多以來一直開放。

否則它可能是這樣的,

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM