使用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