jq で CSV を JSON に変換する
Jan 30, 2022 14:23 · 141 words · 1 minute read
こんな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
などの関数でハンドリングすることができる。