Myログ

自分のためのブログ。

jqを利用してjsonからcsvに変換する

cat << EOF > data.json
{
  "responces": [
    {
        "contentId": "1000",
        "results" : [
            {
                "basicinfo": {
                    "data_date": "2018-05-23",
                },
                "metrics": {
                    "cost": 300
                }
            }
        ]
    }
}
EOF
cat data.json | \
   jq -r '.responces[] | {contentId, val:(.results[] | {date:.basicinfo.data_date, value:.metrics.cost})}' | \
   jq -r '[.contentId, .value.date, .val.value]' | \
   jq -r '@csv'