我想使用jq合并数组值。
在我的输入json中,有一个嵌套数组数组times
,每个数组都有(总是)两个字符串元素。我希望将这两个字符串元素连接起来,并删除嵌套数组,以便只剩下一个数组:
我的输入:
{
"times":[
[
"7:29", "IN"
],
[
"10:29", "OUT"
]
],
"foo":"bar"
}
我想要的输出是:
{
"times":
[
"7:29 IN", "10:29 OUT"
],
"foo":"bar"
}
这是我合并数组元素的方式,所缺少的是再次从中创建一个json数组:
jq '.times | to_entries | .[] | (.value[0]+ " " + .value[1])'
答案 0 :(得分:3)
jq '.times |= map(join(" "))' file
产量:
{
"times": [
"7:29 IN",
"10:29 OUT"
],
"foo": "bar"
}