Caltech Library logo

USAGE

jsoncols [OPTIONS] [EXPRESSION] [INPUT_FILENAME] [OUTPUT_FILENAME]

SYNOPSIS

jsoncols provides scripting flexibility for data extraction from JSON data returning the results in columns. This is helpful in flattening content extracted from JSON blobs. The default delimiter for each value extracted is a comma. This can be overridden with an option.

OPTIONS

    -csv                      output as CSV or other flat delimiter row
    -d, -delimiter            set the delimiter for multi-field csv output
    -examples                 display example(s)
    -generate-markdown-docs   generate markdown documentation
    -h, -help                 display help
    -i, -input                input filename
    -l, -license              display license
    -nl, -newline             if true add a trailing newline
    -o, -output               output filename
    -quiet                    suppress error messages
    -quote                    quote strings and JSON notation
    -r                        run interactively
    -repl                     run interactively
    -v, -version              display version

EXAMPLES

If myblob.json contained

{"name": "Doe, Jane", "email":"jane.doe@example.org", "age": 42}

Getting just the name could be done with

jsoncols -i myblob.json .name

This would yield

"Doe, Jane"

Flipping .name and .age into pipe delimited columns is as easy as listing each field in the expression inside a space delimited string.

jsoncols -i myblob.json -d\|  .name .age

This would yield

Doe, Jane|42

You can also pipe JSON data in.

cat myblob.json | jsoncols .name .email .age

Would yield

“Doe, Jane”,“jane.doe@xample.org”,42

jsoncols v0.0.20-pre