我有以下文件:
[
{
'id': 1,
'arr': [{'x': 1,
{'x': 2}]
},
{
'id': 2,
'arr': [{'x': 3},
{'x': 4}]
}
]
如何使用jq将其转换为以下形式?
[
{'id': 1, 'x': 1},
{'id': 1, 'x': 2},
{'id': 2, 'x': 3},
{'id': 2, 'x': 4},
]
答案 0 :(得分:1)
假设它没有比这更复杂,你可以简单地这样做:
map(del(.arr) + .arr[])
假设您使用arr
中的项目内容替换每个对象的arr
属性。目前还不清楚你正在努力做些什么。
答案 1 :(得分:0)
问题中显示的输入无效JSON。在进行一些小的更改以使其成为有效的JSON之后,以下过滤器将生成输出,如下所示:
map( (.arr[]|.x) as $x | {id, "x": $x} )
输出:
[
{
"id": 1,
"x": 1
},
{
"id": 1,
"x": 2
},
{
"id": 2,
"x": 3
},
{
"id": 2,
"x": 4
}
]