jq :打印嵌套对象中每个条目的键和值

时间:2021-05-05 21:12:53

标签: json linux bash export-to-csv jq

这是 JSON 对象

{
    "success": true,
    "terms": "https://coinlayer.com/terms",
    "privacy": "https://coinlayer.com/privacy",
    "timestamp": 1620244806,
    "target": "USD",
    "rates": {
      "611": 0.389165,
      "ABC": 59.99,
      "ACP": 0.014931,
      "ACT": 0.021098,
      "ACT*": 0.017178,
      "ADA": 1.460965
    }
  }

我需要这种类型的输出:

611,0.389165
ABC,59.99
ACP,0.014931
ACT,0.021098
ACT*,0.017178
ADA,1.460965

谁能帮我弄清楚最好用 jq、shell 脚本或命令来做。

1 个答案:

答案 0 :(得分:3)

您可以使用 @csv 从数组生成 CSV 输出,并使用 to_entries 将对象的元素分解为所述数组:

$ jq -r '.rates | to_entries[] | [ .key, .value ] | @csv' input.json
"611",0.389165
"ABC",59.99
"ACP",0.014931
"ACT",0.021098
"ACT*",0.017178
"ADA",1.460965
相关问题