Help us shape the future of Go! Take the 2026 Go Developer Survey

encoder

package
v1.15.5 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2026 License: Apache-2.0 Imports: 1 Imported by: 43

Documentation

Index

Constants

View Source
const EnableFallback = false

EnableFallback indicates if encoder use fallback

Variables

View Source
var (
	// Encode returns the JSON encoding of val, encoded with opts.
	Encode = encoder.Encode

	// EncodeIndented is like Encode but applies Indent to format the output.
	// Each JSON element in the output will begin on a new line beginning with prefix
	// followed by one or more copies of indent according to the indentation nesting.
	EncodeIndented = encoder.EncodeIndented

	// EncodeInto is like Encode but uses a user-supplied buffer instead of allocating a new one.
	EncodeInto = encoder.EncodeInto

	// HTMLEscape appends to dst the JSON-encoded src with <, >, &, U+2028 and U+2029
	// characters inside string literals changed to \u003c, \u003e, \u0026, \u2028, \u2029
	// so that the JSON will be safe to embed inside HTML <script> tags.
	// For historical reasons, web browsers don't honor standard HTML
	// escaping within <script> tags, so an alternative JSON encoding must
	// be used.
	HTMLEscape = encoder.HTMLEscape

	// Pretouch compiles vt ahead-of-time to avoid JIT compilation on-the-fly, in
	// order to reduce the first-hit latency.
	//
	// Opts are the compile options, for example, "option.WithCompileRecursiveDepth" is
	// a compile option to set the depth of recursive compile for the nested struct type.
	Pretouch = encoder.Pretouch

	// PretouchMany compiles all vts ahead-of-time to avoid JIT compilation on-the-fly,
	// in order to reduce the first-hit latency.
	PretouchMany = encoder.PretouchMany

	// Quote returns the JSON-quoted version of s.
	Quote = encoder.Quote

	// Valid validates json and returns first non-blank character position,
	// if it is only one valid json value.
	// Otherwise returns invalid character position using start.
	//
	// Note: it does not check for the invalid UTF-8 characters.
	Valid = encoder.Valid

	// NewStreamEncoder adapts to encoding/json.NewDecoder API.
	//
	// NewStreamEncoder returns a new encoder that write to w.
	NewStreamEncoder = encoder.NewStreamEncoder
)

Functions

This section is empty.

Types

type Encoder

type Encoder = encoder.Encoder

Encoder represents a specific set of encoder configurations.

type Options

type Options = encoder.Options

Options is a set of encoding options.

const (
	// SortMapKeys indicates that the keys of a map needs to be sorted
	// before serializing into JSON.
	// WARNING: This hurts performance A LOT, USE WITH CARE.
	SortMapKeys Options = encoder.SortMapKeys

	// EscapeHTML indicates encoder to escape all HTML characters
	// after serializing into JSON (see https://pkg.go.dev/encoding/json#HTMLEscape).
	// WARNING: This hurts performance A LOT, USE WITH CARE.
	EscapeHTML Options = encoder.EscapeHTML

	// CompactMarshaler indicates that the output JSON from json.Marshaler
	// is always compact and needs no validation
	CompactMarshaler Options = encoder.CompactMarshaler

	// NoQuoteTextMarshaler indicates that the output text from encoding.TextMarshaler
	// is always escaped string and needs no quoting
	NoQuoteTextMarshaler Options = encoder.NoQuoteTextMarshaler

	// NoNullSliceOrMap indicates all empty Array or Object are encoded as '[]' or '{}',
	// instead of 'null'
	NoNullSliceOrMap Options = encoder.NoNullSliceOrMap

	// ValidateString indicates that encoder should validate the input string
	// before encoding it into JSON.
	ValidateString Options = encoder.ValidateString

	// NoValidateJSONMarshaler indicates that the encoder should not validate the output string
	// after encoding the JSONMarshaler to JSON.
	NoValidateJSONMarshaler Options = encoder.NoValidateJSONMarshaler

	// NoEncoderNewline indicates that the encoder should not add a newline after every message
	NoEncoderNewline Options = encoder.NoEncoderNewline

	// CompatibleWithStd is used to be compatible with std encoder.
	CompatibleWithStd Options = encoder.CompatibleWithStd

	// EncodeNullForInfOrNan encodes Infinity or NaN float values as 'null'
	// instead of returning an error.
	EncodeNullForInfOrNan Options = encoder.EncodeNullForInfOrNan
)

type StreamEncoder added in v1.3.0

type StreamEncoder = encoder.StreamEncoder

StreamEncoder uses io.Writer as input.

Jump to

Keyboard shortcuts

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