2
0
mirror of https://github.com/skanehira/tson synced 2024-11-15 12:13:04 +00:00
Go to file
2019-11-02 16:54:52 +09:00
.circleci add circleci and goreleaser yaml 2019-11-02 16:54:52 +09:00
gui add feature of add new tree node 2019-11-02 16:35:32 +09:00
.goreleaser.yml add circleci and goreleaser yaml 2019-11-02 16:54:52 +09:00
go.mod update go modules 2019-10-30 21:46:47 +09:00
go.sum update go modules 2019-10-30 21:46:47 +09:00
LICENSE add license 2019-10-28 18:24:26 +09:00
main.go create UnMarshalJSON function to unmarshal json 2019-11-02 15:45:12 +09:00
README.md update readme 2019-11-02 16:49:34 +09:00
test.json add float test data 2019-10-30 20:32:17 +09:00

tson

tson is JSON viewer and editor written in Go. This tool displays JSON as a tree and you can search and edit key or values.

Support OS

  • Mac
  • Linux

Installation

$ git clone https://github.com/skanehira/tson
$ cd tson && go install

Usage

# from file
$ tson < test.json

# from pipe
$ curl -X POST http://gorilla/likes/regist | tson

# from url(only can use http get mthod)
$ tson -url http://gorilla/likes/json

Keybinding

JSON tree

key description
j move down
k move up
g move to the top
G move to the bottom
ctrl-f page up
ctrl-b page down
h hide current node
H collaspe all nodes
l expand current node
L expand all nodes
r read from file
s save to file
a add new node
Enter edit node
/ search nodes

About editing nodes

When editing a node value, the JSON value type is determined based on the value. For example, after inputed 10.5 and saving the JSON to a file, it will be output as a float type 10.5. If the value sorround with ", it will be output as string type always. The following is a list of conversion rules.

input value json type
gorilla string
10.5 float
5 int
true or false boolean
null null
"10" or "true" string

About adding new node

You can use a to add new node with raw json string.

For expample, you have following tree.

{array} <- your cursor in there
├──a
├──b
└──c

If you input {"name":"gorilla"} and press add button, then you will get new tree as following.

{array} <- your cursor in there
├──a
├──b
├──c
└──{object}
   └──name
      └──gorilla

Author

skanehira