diff options
Diffstat (limited to 'src/encoding/json/encode.go')
| -rw-r--r-- | src/encoding/json/encode.go | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/encoding/json/encode.go b/src/encoding/json/encode.go index 6fee1dc00b..9d6d7adcef 100644 --- a/src/encoding/json/encode.go +++ b/src/encoding/json/encode.go @@ -42,17 +42,17 @@ import ( // // Boolean values encode as JSON booleans. // -// Floating point, integer, and Number values encode as JSON numbers. +// Floating point, integer, and [Number] values encode as JSON numbers. // NaN and +/-Inf values will return an [UnsupportedValueError]. // // String values encode as JSON strings coerced to valid UTF-8, // replacing invalid bytes with the Unicode replacement rune. // So that the JSON will be safe to embed inside HTML <script> tags, -// the string is encoded using HTMLEscape, +// the string is encoded using [HTMLEscape], // which replaces "<", ">", "&", U+2028, and U+2029 are escaped // to "\u003c","\u003e", "\u0026", "\u2028", and "\u2029". -// This replacement can be disabled when using an Encoder, -// by calling SetEscapeHTML(false). +// This replacement can be disabled when using an [Encoder], +// by calling [Encoder.SetEscapeHTML](false). // // Array and slice values encode as JSON arrays, except that // []byte encodes as a base64-encoded string, and a nil slice @@ -109,7 +109,7 @@ import ( // only Unicode letters, digits, and ASCII punctuation except quotation // marks, backslash, and comma. // -// Anonymous struct fields are usually marshaled as if their inner exported fields +// Embedded struct fields are usually marshaled as if their inner exported fields // were fields in the outer struct, subject to the usual Go visibility rules amended // as described in the next paragraph. // An anonymous struct field with a name given in its JSON tag is treated as @@ -136,11 +136,11 @@ import ( // a JSON tag of "-". // // Map values encode as JSON objects. The map's key type must either be a -// string, an integer type, or implement encoding.TextMarshaler. The map keys +// string, an integer type, or implement [encoding.TextMarshaler]. The map keys // are sorted and used as JSON object keys by applying the following rules, // subject to the UTF-8 coercion described for string values above: // - keys of any string type are used directly -// - encoding.TextMarshalers are marshaled +// - [encoding.TextMarshalers] are marshaled // - integer keys are converted to strings // // Pointer values encode as the value pointed to. @@ -151,7 +151,7 @@ import ( // // Channel, complex, and function values cannot be encoded in JSON. // Attempting to encode such a value causes Marshal to return -// an UnsupportedTypeError. +// an [UnsupportedTypeError]. // // JSON cannot represent cyclic data structures and Marshal does not // handle them. Passing cyclic structures to Marshal will result in @@ -169,7 +169,7 @@ func Marshal(v any) ([]byte, error) { return buf, nil } -// MarshalIndent is like Marshal but applies Indent to format the output. +// MarshalIndent is like [Marshal] 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. func MarshalIndent(v any, prefix, indent string) ([]byte, error) { @@ -191,7 +191,7 @@ type Marshaler interface { MarshalJSON() ([]byte, error) } -// An UnsupportedTypeError is returned by Marshal when attempting +// An UnsupportedTypeError is returned by [Marshal] when attempting // to encode an unsupported value type. type UnsupportedTypeError struct { Type reflect.Type @@ -201,7 +201,7 @@ func (e *UnsupportedTypeError) Error() string { return "json: unsupported type: " + e.Type.String() } -// An UnsupportedValueError is returned by Marshal when attempting +// An UnsupportedValueError is returned by [Marshal] when attempting // to encode an unsupported value. type UnsupportedValueError struct { Value reflect.Value @@ -212,9 +212,9 @@ func (e *UnsupportedValueError) Error() string { return "json: unsupported value: " + e.Str } -// Before Go 1.2, an InvalidUTF8Error was returned by Marshal when +// Before Go 1.2, an InvalidUTF8Error was returned by [Marshal] when // attempting to encode a string value with invalid UTF-8 sequences. -// As of Go 1.2, Marshal instead coerces the string to valid UTF-8 by +// As of Go 1.2, [Marshal] instead coerces the string to valid UTF-8 by // replacing invalid bytes with the Unicode replacement rune U+FFFD. // // Deprecated: No longer used; kept for compatibility. @@ -226,7 +226,8 @@ func (e *InvalidUTF8Error) Error() string { return "json: invalid UTF-8 in string: " + strconv.Quote(e.S) } -// A MarshalerError represents an error from calling a MarshalJSON or MarshalText method. +// A MarshalerError represents an error from calling a +// [Marshaler.MarshalJSON] or [encoding.TextMarshaler.MarshalText] method. type MarshalerError struct { Type reflect.Type Err error |
