🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

github.com/zallarak/json2csv

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/zallarak/json2csv

v0.1.1
Source
Go
Version published
Created
Source

Build Status

json2csv

Convert JSON into CSV. CSV header is generated from each key path as a JSON Pointer. json2csv can be used as a library and command line tool.

Install

Use go get or just download binary releases.

go get github.com/yukithm/json2csv/cmd/json2csv

Usage

json2csv reads JSON content from STDIN or the file specified by the argument.

json2csv example.json
cat example.json | json2csv

Convert object array:

[
    {
        "id": 1,
        "name": "foo",
        "favorites": {
            "fruits": "apple",
            "color": "red"
        }
    },
    {
        "id": 2,
        "name": "bar",
        "favorites": {
            "fruits": "orange"
        }
    },
    {
        "id": 3,
        "name": "baz",
        "favorites": {
            "fruits": "banana",
            "color": "yellow"
        }
    }
]
$ json2csv example1.json

/id,/name,/favorites/color,/favorites/fruits
1,foo,red,apple
2,bar,,orange
3,baz,yellow,banana

Convert object:

{
    "status": 200,
    "result": [
        {
            "id": 1,
            "name": "foo"
        },
        {
            "id": 2,
            "name": "bar"
        }
    ]
}
$ json2csv example2.json

/status,/result/0/id,/result/0/name,/result/1/id,/result/1/name
200,1,foo,2,bar

Convert an array of the object:

Use --path=<JSON Pointer> option.

$ json2csv --path=/result example2.json

/id,/name
1,foo
2,bar

Transpose rows and columns:

$ json2csv --transpose example1.json

/id,1,2,3
/name,foo,bar,baz
/favorites/color,red,,yellow
/favorites/fruits,apple,orange,banana

Header styles

By default, header is represented with JSON Pointer. --header-style=STYLE option can change styles.

styleexample
jsonpointer/foo/bar/0/baz
slashfoo/bar/0/baz
dotfoo.bar.0.baz
dot-bracketfoo.bar[0].baz

Note: slash style similar to jsonpointer style, but slash style doesn't start with '/' and doesn't escape special characters ('/' and '~') defined in RFC 6901.

Note: dot-bracket style similar to dot style, but dot-bracket style uses square brackets for array indexes.

License

MIT

Author

Yuki (@yukithm)

FAQs

Package last updated on 27 Apr 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts