我知道这应该很容易,但是它让我感到困惑。我正在寻找以下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。任何帮助将不胜感激。
答案 0 :(得分:0)
做到这一点
jq '{ packages : . }' input.json
答案 1 :(得分:0)
在jq
中,甚至您认为是文字的东西实际上都是过滤器。在这种情况下,您需要的过滤器就是{packages: .}
:
$ echo '[{}, {}]' | jq '{packages: .}'
{
"packages": [
{},
{}
]
}