Как выбрать только объекты, которые содержат массив с более чем N элементов

Какое правильное выражение JMESPath для захвата только второго объекта в следующем массиве (потому что в нем более 2 объектов topics массив):

[{
  "topics": [
    "just one"
  ]
 },
 {
  "topics": [
    "first",
    "second",
    "third"
  ]
 }
]

Хочу выплюнуть

{
  "topics": [
    "first",
    "second",
    "third"
  ]
}

я пробовал [? length(topics) > 2] но jp жалуется на:

SyntaxError: Invalid token: tNumber
[? length(topics) > 2]
                    ^

1 ответ

Решение

Для входа:

[{
  "topics": [
    "just one"
  ]
 },
 {
  "topics": [
    "first",
    "second",
    "third"
  ]
 }
]

использовать jmesExpression:

[?length(topics)>'2']

чтобы получить вывод:

[
  {
    "topics": [
      "first",
      "second",
      "third"
    ]
  }
]
Другие вопросы по тегам