Json 使用JQ将数组嵌套到新对象中
我知道这个应该很容易,但它让我感到困惑。我希望以以下json为例: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
[{
"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]
?您添加的其他标记表明了其他内容。。。