Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/afghanistanyn/json2csv

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/afghanistanyn/json2csv

  • v0.1.4
  • Source
  • Go
  • Socket score

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 05 Aug 2019

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc