gojo

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2020 License: MIT Imports: 9 Imported by: 1

README

gojo CI Status

Yet another Go implementation of jo.

Usage

 $ 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 foo=@Makefile  # read contents from file
{"foo":"BIN := gojo\nCURRENT_REVISION := $(shell git rev-parse --short HEAD)\nBUILD_LDFLAGS := \"-X ..."}
 $ gojo foo=%Makefile  # base64 of file contents
{"foo":"QklOIDo9IGdvam8KQ1VSUkVOVF9SRVZJU0lPTiA6PSAkKHNoZWxsIGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKQp ..."}

Installation

Homebrew
brew install itchyny/tap/gojo
Build from source
go get -u github.com/itchyny/gojo/cmd/gojo

Difference to jo

  • Implemented in Go and Go-gettable
  • Drops support of k@v syntax (use k=true or k=false)
  • Does not print duplicate keys (although duplicate key in JSON is valid but it's not that useful and overwritten by the latter)

Bug Tracker

Report bug at Issues・itchyny/gojo - GitHub.

Author

itchyny (https://github.com/itchyny)

License

This software is released under the MIT License, see LICENSE.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Gojo

type Gojo struct {
	// contains filtered or unexported fields
}

Gojo represents the gojo printer

func New

func New(opts ...Option) *Gojo

New Gojo

func (*Gojo) Run

func (g *Gojo) Run() error

Run gojo

type Option

type Option func(*Gojo)

Option for Gojo

func Args

func Args(args []string) Option

Args option

func Array

func Array() Option

Array option

func Output added in v0.0.3

func Output(output io.Writer) Option

Output option

func Pretty

func Pretty() Option

Pretty option

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL