Yet another Go implementation of jo
MIT License
This is an implementation of jo command written in Go language.
$ gojo foo=bar qux=quux
{"foo":"bar","qux":"quux"}
$ gojo -p foo=bar qux=quux
{
"foo": "bar",
"qux": "quux"
}
$ gojo -a foo bar baz
["foo","bar","baz"]
$ seq 10 | gojo -a
[1,2,3,4,5,6,7,8,9,10]
$ gojo -p foo=$(gojo bar=$(gojo baz=100))
{
"foo": {
"bar": {
"baz": 100
}
}
}
$ gojo -p foo[bar][baz][qux][quux]=128
{
"foo": {
"bar": {
"baz": {
"qux": {
"quux": 128
}
}
}
}
}
$ gojo -p res[foo][][id]=10 res[foo][][id]=20 res[cnt]=2
{
"res": {
"foo": [
{
"id": 10
},
{
"id": 20
}
],
"cnt": 2
}
}
$ gojo -y res[foo][][id]=10 res[foo][][id]=20 res[cnt]=2
res:
foo:
- id: 10
- id: 20
cnt: 2
$ gojo foo=@testdata/file.txt # read contents from file
{"foo":"a\nb\nc\nd\ne"}
$ gojo foo=:testdata/file1.json # json value of file
{"foo":{"x":1,"z":2,"y":3}}
$ gojo foo=%testdata/file.txt # base64 of file contents
{"foo":"YQpiCmMKZAplCg=="}
brew install itchyny/tap/gojo
go install github.com/itchyny/gojo/cmd/gojo@latest
foo[x][y][z]=1
, foo[][][]=1
).-y
(example: gojo -y foo=1
outputs foo: 1
).k@v
syntax (use k=true
or k=false
) and type guessing flags.Report bug at Issues・itchyny/gojo - GitHub.
itchyny (https://github.com/itchyny)
This software is released under the MIT License, see LICENSE.