使用JQ将JSON数组值展平为CSV可以通过以下步骤实现:
map
函数和@csv
过滤器来展平JSON数组。假设我们有以下JSON数组:[
{
"name": "John",
"age": 30,
"city": "New York"
},
{
"name": "Jane",
"age": 25,
"city": "San Francisco"
}
]
我们可以使用以下命令将其展平为CSV格式:
jq -r '[.[] | [.name, .age, .city] | @csv]' input.json > output.csv
这将生成一个名为output.csv
的文件,其中包含以下内容:
"John",30,"New York"
"Jane",25,"San Francisco"
在这个命令中,我们使用了[]
操作符来遍历JSON数组中的每个对象。然后,我们使用[.name, .age, .city]
来选择要展平的属性。最后,我们使用@csv
过滤器将选择的属性转换为CSV格式。
--arg
选项来指定分隔符。例如,如果你想要使用分号作为分隔符,可以使用以下命令:jq -r --arg separator ";" '[.[] | [.name, .age, .city] | @csv($separator)]' input.json > output.csv
这将生成一个使用分号作为分隔符的CSV文件。
总结起来,使用JQ将JSON数组值展平为CSV的步骤如下:
map
函数和@csv
过滤器来展平JSON数组。--arg
选项来指定CSV的分隔符。希望这个答案能够满足你的需求!如果你对其他云计算领域的问题有任何疑问,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云