用jq合并json个数组元素
Merge json array elements with jq
我想使用 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])'
jq '.times |= map(join(" "))' file
产量:
{
"times": [
"7:29 IN",
"10:29 OUT"
],
"foo": "bar"
}
我想使用 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])'
jq '.times |= map(join(" "))' file
产量:
{
"times": [
"7:29 IN",
"10:29 OUT"
],
"foo": "bar"
}