Json 使用JQ将数组嵌套到新对象中

Json 使用JQ将数组嵌套到新对象中,json,jq,Json,Jq,我知道这个应该很容易,但它让我感到困惑。我希望以以下json为例: [{ "Name": "Test1", "Version": "5.0.1", "source": "source" }, { "Name": "Test2", "Version": "2.0.11", "source": "source" }, { "Name": "Test3

我知道这个应该很容易,但它让我感到困惑。我希望以以下json为例:

    [{
        "Name": "Test1",
        "Version": "5.0.1",
        "source": "source"
    },
    {
        "Name": "Test2",
        "Version": "2.0.11",
        "source": "source"
    },
    {
        "Name": "Test3",
        "Version": "2.1.2",
        "source": "source"
    }]
并将其转换为:

 {
    "packages": [
        {
            "Name": "Test1",
            "Version": "5.0.1",
            "source": "source"
        },
        {
            "Name": "Test2",
            "Version": "2.0.11",
            "source": "source"
        },
        {
            "Name": "Test3",
            "Version": "2.1.2",
            "source": "source"
        }
    ]
  }
我已经尝试了许多不同的方法,最接近的方法是使用类似的东西:
jq'.packages+=[input]'

基本上,它只是将原始JSON移动到嵌套状态。任何帮助都将不胜感激。

就这样做吧

jq '{ packages : . }' input.json

jq
中,甚至您认为是文字的东西实际上也是过滤器。在这种情况下,您需要的过滤器只是
{packages:.}

$ echo '[{}, {}]' | jq '{packages: .}'
{
  "packages": [
    {},
    {}
  ]
}

为什么要将其标记为
[javascript]
?您添加的其他标记表明了其他内容。。。