json2yaml
json2yaml copied to clipboard
An efficient JSON to YAML converter written in Go language
json2yaml
This is an implementation of JSON to YAML converter written in Go language. This tool efficiently converts each JSON tokens in streaming fashion, so it avoids loading the entire JSON on the memory. Also, this tool preserves the order of mapping keys and the number representation.
Usage as a command line tool
json2yaml file.json ...
json2yaml <file.json >output.yaml
You can combine with other command line tools.
gh api /meta | json2yaml | less
Usage as a library
You can use the converter as a Go library.
json2yaml.Convert(io.Writer, io.Reader) error is exported.
package main
import (
"fmt"
"log"
"strings"
"github.com/itchyny/json2yaml"
)
func main() {
input := strings.NewReader(`{"Hello": "world!"}`)
var output strings.Builder
if err := json2yaml.Convert(&output, input); err != nil {
log.Fatalln(err)
}
fmt.Print(output.String()) // outputs Hello: world!
}
Installation
Homebrew
brew install itchyny/tap/json2yaml
Build from source
go install github.com/itchyny/json2yaml/cmd/json2yaml@latest
Bug Tracker
Report bug at Issues・itchyny/json2yaml - GitHub.
Author
itchyny (https://github.com/itchyny)
License
This software is released under the MIT License, see LICENSE.