json to csv by jq command
目的
json形式のデータから、目的のデータをcsv形式で出力する。
テストデータと期待する結果
テストデータ
test.json
[
{
"actions": [],
"name": "ペドロ",
"status": {
"HP": 100,
"speed": 50
}
},
{
"actions": [],
"name": "ピート",
"status": {
"HP": 300,
"speed": 20
}
}
]
上記データからには2人分のデータが格納されているが
それぞれのHPとspeedを抜き出し下記のような出力としたい。
期待する結果
result.csv
100, 50
300, 20
下記コマンドで期待する結果を出力できる
cat test.json | jq ". [].status | [.HP,.speed] | @csv" | sed 's/"//g' > result.csv