JSONをCSVに変換するツールjson2csvを作りました。
マッピング情報を元に、JSONからCSVに変換します。
$ json2csv -i input.json -m mapping.json -o output.csv
Usage: json2csv [flags] Flags -i, --input string JSON input file path or directory or url -m, --mapping string JSON to CSV mapping file path or url -o, --output string CSV output file path -b, --bom CSV with BOM -h, --help Help
マッピング情報は下記のように書きます。
XPathを使って行の一覧と各カラムを指定するようなイメージです。
{ "rowsPath": "//items/*", "columns": [ { "header": "title", "valuePath": "/title" }, { "header": "link", "valuePath": "/link" }, { "header": "description", "valuePath": "/description" } ] }
JSONからXPathで取得する部分は、antchfx/jsonquery を使っています。JSONとXPathの対応は下記を見るとわかりやすいと思います。
Goで書いているので、Windows/Linux/Macに対応しています。実行ファイルは下記からダウンロードしてください。