Вложенный фильтр Goessner JSONPath для возврата узла-брата - PullRequest
2 голосов
/ 11 февраля 2020

У меня есть этот скелетный файл json, и мне нужно отфильтровать его с помощью externalids.system == 'HQ2' с помощью JSONPath. Я также использую Гесснер .

{
  "meta": {
    "numFound": 2
  },
  "data": [
    {
      "id": "11111",
      "type": "PRODUCT_GROUP",
      "values": [
        {
          "showvalues": [
            "ObjectPosition"
          ],
          "value": "4",
          "attributeid": "gd4d20ffc-0374-4764-8b01-19b2e3d9d084"
        }
      ],
      "_links": [
        {
          "rel": "self"
        }
      ],
      "externalids": [
        {
          "system": "HQ1"
        }
      ]
    },
    {
      "id": "22222",
      "type": "PRODUCT_GROUP",
      "values": [
        {
          "showvalues": [
            "ObjectPosition"
          ],
          "value": "4",
          "attributeid": "gd4d20ffc-0374-4764-8b01-19b2e3d9d084"
        }
      ],
      "_links": [
        {
          "rel": "self"
        }
      ],
      "externalids": [
        {
          "system": "HQ2"
        }
      ]
    }
  ]
}

Может ли кто-нибудь помочь мне, почему это не работает?

$.data[?(@.externalids[?(@.system == 'HQ2')])].values

В принципе, мне нужны «значения» все externalids.system == 'HQ2'.

...