Jsonpath只查询一个项目

时间:2018-05-01 15:18:20

标签: json jsonpath

我有一个问题是使用jsonpath在json中找出一个确定的值。 我有这个json:

{"tvs": {
    {  "tv": [
    {
      "serial": "HD1300",
      "data": [
        {
          "title": "manufacturer",
          "value": "lg"
        },
        {
          "title": "color",
          "value": "silver"
        },
        {
          "title": "inches",
          "value": 32
        },
        {
          "title": "connection",
          "value": 220
        },

        {
          "title": "connection",
          "value": 400
        }
    ]

    }.. more tvs

我想知道串口hd1300是否存在值连接:400 我已经尝试过:

$.tvs.[?(@.serial=='hd1340')].data.[?(@.title== 'connection'),(@.value==400)]

但我的问题是我还检索了200的“连接”。如何过滤才能获得此值?

1 个答案:

答案 0 :(得分:1)

我认为你的JSON可能有错误(电视和电视之间的额外支撑)。我能够在http://jsonpath.com上使用它。

{"tvs": 
    {  "tv": [
    {
      "serial": "HD1300",
      "data": [
        {
          "title": "manufacturer",
          "value": "lg"
        },
        {
          "title": "color",
          "value": "silver"
        },
        {
          "title": "inches",
          "value": 32
        },
        {
          "title": "connection",
          "value": 220
        },
        {
          "title": "connection",
          "value": 400
        }
        ]}
    ]}
}

$ .tvs.tv。[?(@。serial =='HD1300')]。data。[?(@。title =='connection'&& @ .value =='400')]