9 releases
0.3.0 | Jan 23, 2021 |
---|---|
0.2.3 | Dec 29, 2019 |
0.2.2 | Jun 16, 2019 |
0.2.1 | Apr 15, 2019 |
0.1.6 | Apr 6, 2019 |
#2712 in Command line utilities
26 downloads per month
16KB
299 lines
rjo
A small utility to create JSON objects.
The origin of this package is jpmens/jo, and was inspired by a Golang ported version , skanehira/gjo.
Installation
Only installation from souce is supported. You may need Rust 1.30 or higher. You can then use cargo to build everything.
$ cargo install rjo
or, clone and specify local directory:
$ git clone https://github.com/dskkato/rjo.git
$ cd rjo
$ cargo install --path .
Usage
Creating objects:
$ rjo -p name=jo n=17 parser=false
{
"name": "jo",
"n": 17,
"parser": false
}
or, arrays:
$ seq 1 10 | rjo -a
[1,2,3,4,5,6,7,8,9,10]
$ rjo -p -a Rust 0 false
[
"Rust",
0,
false
]
A more complex example:
$ rjo -p name=JP object=$(rjo fruit=Orange point=$(rjo x=10 y=20) number=17) sunday=false
{
"name": "JP",
"object": {
"fruit": "Orange",
"point": {
"x": 10,
"y": 20
},
"number": 17
},
"sunday": false
}
multiple lines from stdin
Currently, jo
assumes one x=y pair per line when reads from stdin, and multiple x=y pairs generate following results:
echo -e "a=b c=d \n e=f g=h" | jo
{"a":"b c=d "," e":"f g=h"}
While, rjo
translates stdin
input line by line:
echo -e "a=b c=d \n e=f g=h" | rjo
{"a":"b","c":"d"}
{"e":"f","g":"h"}
See also
License
MIT
Dependencies
~6–14MB
~152K SLoC