[英]How to flatten JSON array values as CSV using JQ
我有一个 JSON 文件,其中包含应用程序客户端及其相关的应用程序功能:
{
"client-A": [
"feature-x"
],
"client-B": [
"feature-x",
"feature-y"
],
"client-C": [
"feature-z"
],
"client-D": [
"feature-x",
"feature-z"
],
...
}
我试图把它变成下面的 CSV:
client,feature
client-A,feature-x
client-B,feature-x
client-B,feature-y
client-C,feature-z
client-D,feature-x
client-D,feature-z
使用jq
完成这项工作的简单方法是什么?
不确定这是否是最有效的方法,但您可以使用以下管道进行转换:
<yourfile.json jq -r 'to_entries | .[] | { key: .key, value: .value[] } | [ .key, .value ] | @csv'
to_entries
将结构转换为“键值”对,然后可以对其进行操作。 { key: .key, value: .value[] }
位会将数组转换为多行...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.