我想使用How to convert arbirtrary simple JSON to CSV using jq?中提供的解决方案将500多个json文件转换为csv格式,但我的json文件格式与建议的解决方案格式不同。
以下代表一个示例json文件:
[
{
"jou_entry": {
"id": 655002886,
"units": 2
}
},
{
"jou_entry": {
"id": 655002823,
"units": 4
}
},
{
"jou_entry": {
"id": 657553949,
"units": 6
}
}
]
建议的解决方案需要以下格式的json:
[
{
"id": 655002886,
"units": 2
},
{
"id": 655002823,
"units": 4
},
{
"id": 657553949,
"units": 6
}
]
我可以使用以下jq过滤器
将json从源格式转换为所需的格式jq -r '[.[] | ."jou_entry"]'
但我不喜欢过滤器中关键字“jou_entry”的硬编码。因为这需要为这么多文件定义单独的密钥。我希望没有硬编码值进行转换。
我该怎么做?请帮忙
答案 0 :(得分:0)
这会获得所需的输出
jq '[.[] | .[]]'
手册中的说明。在数组上使用.[]
时,它将返回数组的所有元素。当它在对象上使用时,它将返回对象的所有值。