代码之家  ›  专栏  ›  技术社区  ›  Assaf Lavie

如何只选择包含n个以上元素的数组的对象

  •  1
  • Assaf Lavie  · 技术社区  · 5 年前

    仅捕获以下数组中第二个对象的正确jmespath表达式是什么(因为它的 topics 数组):

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

    我想把它吐出来

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

    我试过了 [? length(topics) > 2] 但是 jp 抱怨:

    SyntaxError: Invalid token: tNumber
    [? length(topics) > 2]
                        ^
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   Ankit Gupta    5 年前

    输入:

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

    使用jmesexpression:

    [?length(topics)>'2']
    

    获得产出:

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