使用JQ的JSON我有以下的JSON改变在bash
{
"name" : "qwerty",
"values" :[
{
"field1" : [
"val1"
],
"field2" : [
"val2"
],
"name1" : [["a", "b"], ["c", "d"]]
},
{
"field1" : [
"val3"
],
"field2" : [
"val4"
],
"name1" : [["a", "b"], ["c", "d"]]
},
{
"field1" : [
"val5"
],
"field2" : [
"val6"
],
"name1" : [["a", "b"], ["c", "d"]]
}
]
}
我需要上述JSON更改为以下使用JQ在bash
{
"name" : "qwerty",
"values" :[
{
"field1" : "val1",
"field2" : "val2",
"new_name" : [["a", "b"], ["c", "d"]]
},
{
"field1" : "val3",
"field2" : "val4",
"new_name" : [["a", "b"], ["c", "d"]]
},
{
"field1" : "val5",
"field2" : "val6",
"new_name" : [["a", "b"], ["c", "d"]]
}
]
}
我在这里面临着以下问题:
我试着用标签值解析内部json,并用空格替换'['']',但是,当我尝试将“值”放入列表形式的变量中时,jq是美化和然后显示每个作为数组元素的新行。
values数组中的内部jsons的数量不固定。
有人可以帮助我构建jq语句在bash中运行以进行必要的更改。
指出了这一点@fedorqui日Thnx,纠正问题 – vamsi
你知道,这是专门'.values []。field1'和'.values []。field2'要更改,或者是任何应该折叠为单个值的单例列表? – chepner
是“field1,field2,name”在每个json中都是固定的。但是jsons的数量并不固定。 – vamsi