jqを使ってjsonをcsvに変換してみてください。

jqを使ってjsonをcsvに変換してみてください。

jqを使ってデータをcsvに変換する方法がわからないようです。私は次のJSONを持っています:

    {
  "id": 2,
  "type": "message",
  "date": "2010-01-11T01:19:45",
  "edited": "1969-12-31T19:00:00",
  "from": "USER1",
  "from_id": 5514,
  "text": "Message1"
 },
 {
  "id": 3,
  "type": "message",
  "date": "2010-01-11T01:19:28",
  "edited": "1969-12-31T19:00:00",
  "from": "USER2",
  "from_id": 5515,
  "text": "Message2"
 },
 {
  "id": 4,
  "type": "message",
  "date": "2010-01-11T01:19:28",
  "edited": "1969-12-31T19:00:00",
  "from": "USER1",
  "from_id": 5514,
  "text": "Message3"
 },

jsonから日付、ソース、テキストを取得し、次のようにcsvに出力しようとしています。

From,Date,Text
USER1,2010-01-11T01:19:45,Message1
USER2,2010-01-11T01:19:28,Message2
USER1,2010-01-11T01:19:28,Message3

jqでこれを行う方法はありますか?それとも他のものを使う方が良いでしょうか?

ベストアンサー1

それ

<input.json jq --raw-output '.[]|[.from,.date,.text]|@csv'

おすすめ記事