prettyjson

package module
v0.0.0-...-0474bc6 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2021 License: MIT Imports: 7 Imported by: 292

README

prettyjson

JSON pretty print for Golang.

Example

import "github.com/hokaccha/go-prettyjson"

v := map[string]interface{}{
    "str": "foo",
    "num": 100,
    "bool": false,
    "null": nil,
    "array": []string{"foo", "bar", "baz"},
    "map": map[string]interface{}{
        "foo": "bar",
    },
}
s, _ := prettyjson.Marshal(v)
fmt.Println(string(s))

Output

License

MIT

Documentation

Overview

Package prettyjson provides JSON pretty print.

Example
defer func(noColor bool) { color.NoColor = noColor }(color.NoColor)
color.NoColor = false

v := map[string]interface{}{
	"str":   "foo",
	"num":   100,
	"bool":  false,
	"null":  nil,
	"array": []string{"foo", "bar", "baz"},
	"map": map[string]interface{}{
		"foo": "bar",
	},
}
s, _ := Marshal(v)
fmt.Println(string(s))
Output:

{
  �[34;1m"array"�[0m: [
    �[32;1m"foo"�[0m,
    �[32;1m"bar"�[0m,
    �[32;1m"baz"�[0m
  ],
  �[34;1m"bool"�[0m: �[33;1mfalse�[0m,
  �[34;1m"map"�[0m: {
    �[34;1m"foo"�[0m: �[32;1m"bar"�[0m
  },
  �[34;1m"null"�[0m: �[30;1mnull�[0m,
  �[34;1m"num"�[0m: �[36;1m100�[0m,
  �[34;1m"str"�[0m: �[32;1m"foo"�[0m
}

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Format

func Format(data []byte) ([]byte, error)

Format JSON string with default options.

func Marshal

func Marshal(v interface{}) ([]byte, error)

Marshal JSON data with default options.

Types

type Formatter

type Formatter struct {
	// JSON key color. Default is `color.New(color.FgBlue, color.Bold)`.
	KeyColor *color.Color

	// JSON string value color. Default is `color.New(color.FgGreen, color.Bold)`.
	StringColor *color.Color

	// JSON boolean value color. Default is `color.New(color.FgYellow, color.Bold)`.
	BoolColor *color.Color

	// JSON number value color. Default is `color.New(color.FgCyan, color.Bold)`.
	NumberColor *color.Color

	// JSON null value color. Default is `color.New(color.FgBlack, color.Bold)`.
	NullColor *color.Color

	// Max length of JSON string value. When the value is 1 and over, string is truncated to length of the value.
	// Default is 0 (not truncated).
	StringMaxLength int

	// Boolean to disable color. Default is false.
	DisabledColor bool

	// Indent space number. Default is 2.
	Indent int

	// Newline string. To print without new lines set it to empty string. Default is \n.
	Newline string
}

Formatter is a struct to format JSON data. `color` is github.com/fatih/color: https://github.com/fatih/color

func NewFormatter

func NewFormatter() *Formatter

NewFormatter returns a new formatter with following default values.

func (*Formatter) Format

func (f *Formatter) Format(data []byte) ([]byte, error)

Format formats JSON string.

func (*Formatter) Marshal

func (f *Formatter) Marshal(v interface{}) ([]byte, error)

Marshal marshals and formats JSON data.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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