json2yaml

CI Status Go Report Card MIT License release pkg.go.dev

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.

Usage as a command line tool

json2yaml file.json ...
json2yaml <file.json >output.yaml

Usage as a library

You can use the converter as a Go library.

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/[email protected]

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.

GitHub

View Github