当前位置: 首页 > 知识库问答 >
问题:

JsonPath:在数组中的任何数组中按值筛选

丁雅惠
2023-03-14

我尝试过滤,以获得值从订阅号内*...ou.subscriber具有扩展的dinfo[SOURCE_OR_TARGET=="目标"],但我的jsonpath它不工作。

我尝试的jsonpath:

$..ou[?(@.extendedInfo[0].value=="TARGET")].subscriber[0].subscriberNumber

结果,我想得到这个subscriberNumber=“001”

JSON:

    {
    "customer": {
        "customerId": "34975213",
        "ou": [
            {
                "numberOfIDD": 0,
                "numberOfIR": 0,
                "ouId": 117482315,
                "subscriber": [
                    {
                        "status": 0,
                        "subscriberId": "90674393",
                        "subscriberNumber": "001"
                    }
                ],
                "responseCode": "FM120100000",
                "responseMsg": "Success",
                "extendedInfo": [
                    {
                        "name": "SOURCE_OR_TARGET",
                        "value": "BUCKET"
                    },
                    {
                        "name": "SOURCE_OR_TARGET",
                        "value": "TARGET"
                    }
                ]
            },
            {
                "numberOfIDD": 0,
                "numberOfIR": 0,
                "ouId": 21046276,
                "subscriber": [
                    {
                        "status": 65,
                        "subscriberId": "17404432",
                        "subscriberNumber": "002"
                    }
                ],
                "extendedInfo": [
                    {
                        "name": "SOURCE_OR_TARGET",
                        "value": "SOURCE"
                    }
                ]
            }
        ]
    }
}

谢谢你的帮助。

共有1个答案

乌翔
2023-03-14

错误的设计数据结构您希望为具有extendedInfo的订阅服务器节点筛选,但不将其包含在订阅服务器中

 类似资料:
  • 我试图通过值过滤我的Json中的一个数组与Jsonpath。我想在下面的JSON中获得国家的long_name。为了做到这一点,我通过类型[0]==“国家”过滤adress_components,但它似乎不起作用。 我试过的JsonPath: 我想要的结果是:“加拿大”。 JSON: 谢谢你的帮助。

  • 我有这个json: 我想使用通过其名称查找元素“foo”(“foo”) 我尝试了类似 但它似乎不起作用(我检查了 https://jsonpath.com)

  • 我有这样的矩阵: 我需要在最后一列中过滤它tp get value 1。所以结果应该是这样的: 我的当前代码是: 我的代码返回一个空数组。我一定错过了什么...

  • 假设我有array 我只想按值[2]从数组中删除[2]。 预期的数组将是 谢谢你的帮助,谢谢。

  • 我有以下文件: 第一份文件: 第二份文件: 我知道如果我想按产品名称分组,我可以使用聚合 这将给我两个桶,两个不同的键“product1”,“product2”。 但是,如果我想按标记键分组,查询应该是什么?i、 e.我想按name==key1的标记分组,然后我希望有一个key=“value1”的bucket;而如果我按name==key2的标记分组,我希望结果是两个bucket,其键为“valu

  • 我刚刚过滤了一些数据,现在我有一个。csv文件,但我注意到我只需要选择具有最低价格的行: 例子: 在这个例子中,我只想得到第三行和第六行: 使用python,如何获得最终的表?