使用jq将无密钥json展平为csv格式

时间:2019-05-19 11:12:37

标签: json export-to-csv jq

如何将以下json展平为csv格式?我面临的问题是,此json在键的位置包含值,而我所看到的所有示例和教程都显示了如何使用键和值处理json。所以我什至不知道从哪里开始。

JSON:这是我目前拥有的

{
  "AE": {
    "424,2": "Etisalat",
    "424,3": "DU"
  },
  "AF": {
    "412,50": "Etisalat"
  }
}

CSV:这就是我想要的输出

"AE","424,2","Etisalat"
"AE","424,3","DU"
"AF","412,50","Etisalat"

1 个答案:

答案 0 :(得分:1)

paths(scalars) as $p | $p + [getpath($p)] | @csv

paths(scalars)找到不可迭代值的路径,并将其作为数组列出(例如["AE","424,4"]),
getpath($p)返回由$p表示的路径上的值。

请注意,-r/--raw-output选项对于正确的CSV输出是必需的。