Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GOJT The Go JSON Tool

Utility tool for parsing and reading json documents from terminal

Usage

cat doc.json | gojt [path|keys] <json_path>

Gojt always reads piped data being useful to get info from inline JSON documents in your disk or in your clipboard

pbpaste | gojt path '.foo.bar'

Commands

path

Print object in a given path

➜  gojt git:(master) cat doc.json
{"foo":{"bar":"baz"},"numbers":[1,2,3,4]}
➜  gojt git:(master) cat doc.json | gojt path .foo.bar
"baz"

Print arrays using both map or array indexing

➜  gojt git:(master) ✗ cat doc.json
{"foo":{"bar":"baz"},"numbers":[1,2,3,4]}
➜  gojt git:(master) ✗ cat doc.json | gojt path .numbers.2
3
➜  gojt git:(master) ✗ cat doc.json | gojt path '.numbers[2]'
3

Use [] to query a JSON path for all items in the array

➜  gojt git:(master) ✗ cat master.json
{"masterminds":[{"name":"Alan Turing","birth":"1912","death":"1954"},{"name":"Ada Lovelace","birth":"1815","death":"1852"},{"name":"Charles Babbage","birth":"1791","death":"1871"},{"name":"Blaise Pascal","birth":"1623","death":"1662"}]}
➜  gojt git:(master) ✗ cat master.json | gojt path .
{
  "masterminds": [
    {
      "birth": "1912",
      "death": "1954",
      "name": "Alan Turing"
    },
    {
      "birth": "1815",
      "death": "1852",
      "name": "Ada Lovelace"
    },
    {
      "birth": "1791",
      "death": "1871",
      "name": "Charles Babbage"
    },
    {
      "birth": "1623",
      "death": "1662",
      "name": "Blaise Pascal"
    }
  ]
}
➜  gojt git:(master) ✗ cat master.json | gojt path '.masterminds[1]'
{
  "birth": "1815",
  "death": "1852",
  "name": "Ada Lovelace"
}
➜  gojt git:(master) ✗ cat master.json | gojt path '.masterminds[].name'
[
  "Alan Turing",
  "Ada Lovelace",
  "Charles Babbage",
  "Blaise Pascal"
]
➜  gojt git:(master) ✗ cat master.json | gojt path '.masterminds[].birth'
[
  "1912",
  "1815",
  "1791",
  "1623"
]
➜  gojt git:(master) ✗ cat master.json | gojt path '.masterminds[].death'
[
  "1954",
  "1852",
  "1871",
  "1662"
]

keys

Print the available keys on a given path

➜  gojt git:(master) ✗ echo '{"foo":{"bar":"baz"},"numbers":[1,2,3,4]}' | pbcopy
➜  gojt git:(master) ✗ pbpaste | gojt keys .
[
  "foo",
  "numbers"
]
➜  gojt git:(master) ✗ pbpaste | gojt keys .foo
[
  "bar"
]

References Used for Development

About

Utility tool for parsing and reading json documents from terminal

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages