JSONをCSVに変換するツール json2csvを作りました

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に対応しています。実行ファイルは下記からダウンロードしてください。