0

次のjsonを使用:

{
  "elements": [
    {
      "ids": [
        {
          "id": "A"
        },
        {
          "id": "B"
        }
      ],
      "value": "one"
    },
    {
      "ids": [
        {
          "id": "C"
        },
        {
          "id": "D"
        }
      ],
      "value": "two"
    },
    {
      "ids": [
        {
          "id": "E",
        },
        {
          "id": "F",
        }
      ],
      "value": "three"
    }
  ]
}

リスト['A','C']から少なくとも id を含む要素のリストを返す jsonpath は何でしょうか?

各 ID について具体的に尋ねると、目的の結果を得ることができます。

$.elements[?('A' in @.ids.*.id || 'C' in @.ids.*.id)]

[
   {
      "ids" : [
         {
            "id" : "A"
         },
         {
            "id" : "B"
         }
      ],
      "value" : "one"
   },
   {
      "ids" : [
         {
            "id" : "C"
         },
         {
            "id" : "D"
         }
      ],
      "value" : "two"
   }
]

しかし、私のシナリオでは、リスト内の ID の値を示す必要があります ['A','C']

前もって感謝します!

4

1 に答える 1

1

フィルター演算子を使用するanyof

$.elements[?(@.ids.*.id anyof ['A','C'])]
于 2022-01-13T13:29:20.967 に答える