我想弄清楚如何使用jq从一些JSON中删除数组元素。 下面是输入和期望的输出。如何用jq去除数组元素?
jq .Array[0]
输出我想要的数组元素。
{
"blah1": [
"key1:val1"
],
"foobar0": "barfoo0",
"foobar1": "barfoo1"
}
但我怎么用重新包装这个:
{
"blah0": "zeroblah",
"Array": [
和
]
}
输入:
{
"blah0": "zeroblah",
"Array": [
{
"blah1": [
"key1:val1"
],
"foobar0": "barfoo0",
"foobar1": "barfoo1"
},
{
"blah2": [
"key2:val2"
],
"foobar2": "barfoo2",
"foobar3": "barfoo3"
}
]
}
所需的输出:
{
"blah0": "zeroblah",
"Array": [
{
"blah1": [
"key1:val1"
],
"foobar0": "barfoo0",
"foobar1": "barfoo1"
}
]
}
你想删除刚才'数组[1]'或所有元素'数组'超过第一个,即,如果'Array'具有两个以上的元素,输出应该是什么? – jwodder
在这种情况下,只有两个数组元素,我想删除第二个数组元素。但更一般地说,我试图了解jq如何允许选择性数组元素控制。也许下一次我想删除数组元素1,3,5和11。 –