Skip to content

JSON to CSV converter,a library & a command.

License

Notifications You must be signed in to change notification settings

haotrr/json2csv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

json2csv

Converts a stream of newline separated json data to csv format. Forks from jehiah/json2csv and make some incompatible changes.

Installation

pre-built binaries are available under releases.

If you have a working golang install, you can use go get.

go get github.com/haotrr/json2csv/cmd
mv $GOPATH/bin/cmd $GOPATH/bin/json2csv

Usage

usage: json2csv
    -k fields,and,nested.fields,to,output
    -i /path/to/input.json (optional; default is stdin)
    -o /path/to/output.csv (optional; default is stdout)
    --version
    -H print csv header row
    -h This help

To convert:

{"user": {"name":"jehiah", "password": "root"}, "remote_ip": "127.0.0.1", "dt" : "[20/Aug/2010:01:12:44 -0400]"}
{"user": {"name":"jeroenjanssens", "password": "123"}, "remote_ip": "192.168.0.1", "dt" : "[20/Aug/2010:01:12:44 -0400]"}
{"user": {"name":"unknown", "password": ""}, "remote_ip": "76.216.210.0", "dt" : "[20/Aug/2010:01:12:45 -0400]"}

to:

"jehiah","127.0.0.1"
"jeroenjanssens","192.168.0.1"
"unknown","76.216.210.0"

you would either

json2csv -k user.name,remote_ip -i input.json -o output.csv

or

cat input.json | json2csv -k user.name,remote_ip > output.csv

Package

func Do(inputFile, outputFile, outputDelim string, allKeys boo, keys []string, printHeader bool) (int, error)