created: 2022-01-30T05:23:12.000Z
jq で CSV を JSON に変換する
こんなCSVをJSONにする。
1,foo
2,bar
id,name の2カラムのCSVとみなすとこのようになる。
$ cat /tmp/_ \
| jq --raw-input 'split(",") | {id: .[0], name: .[1]}' \
| jq -s
{
"id": "1",
"name": "foo"
}
{
"id": "2",
"name": "bar"
}
--raw-input
がミソになっていて、これをつけないと不正な入力として扱われる。 --raw-input
をつけると文字列として扱われるので split
などの関数でハンドリングすることができる。