json2csv

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2023 License: MIT Imports: 12 Imported by: 0

README

json2csv

GitHub license Test codecov

json2csv converts JSON to CSV.
You can easily define mappings for converts using XPath.

Usage

$ json2csv -i input.json -m mapping.json -o output.csv

The arguments are as follows.

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

JSON and mapping files can be specified by URL.

json2csv -i https://github.com/onozaty/json2csv/raw/main/testdata/data/rss.json -m https://github.com/onozaty/json2csv/raw/main/testdata/mapping/rss.json -o output.csv

Mapping

The conversion mapping definition is written in JSON.
Specify the position on the JSON with XPath.

{
    "rowsPath": "//items/*",
    "columns": [
        {
            "header": "title",
            "valuePath": "/title"
        },
        {
            "header": "link",
            "valuePath": "/link"
        },
        {
            "header": "description",
            "valuePath": "/description"
        }
    ]
}
  • rowsPath : XPath to get as a rows.
  • columns : Definition of each column.
    • header : CSV header.
    • valuePath : XPath to get as a value.
    • useEvaluate : Specify true when using an expression with valuePath. For example, when using sum() or not(), boolean().

antchfx/xpath is used in json2csv.
See below for supported XPath.

For XPath in JSON, please refer to the following.

Please refer to the sample below.

Install

You can download the binary from the following.

License

MIT

Author

onozaty

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL