JsonPath: фильтр по значению в любом массиве в массиве - PullRequest
1 голос
/ 12 июня 2019

Я пытаюсь отфильтровать, чтобы получить значение из subscriberNumber внутри "* .. ou.subscriber", которые имеют расширенную информацию [SOURCE_OR_TARGET == "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 Ответ

0 голосов
/ 12 июня 2019

плохая структура данных проекта, вы хотите фильтровать для узла подписчика с extendedInfo, но не включать его в подписчика

...