yaml – sigs.k8s.io/yaml Index | Files

package yaml

import "sigs.k8s.io/yaml"

Index

Functions

func DisallowUnknownFields

func DisallowUnknownFields(d *json.Decoder) *json.Decoder

DisallowUnknownFields configures the JSON decoder to error out if unknown fields come along, instead of dropping them by default.

func JSONObjectToYAMLObject

func JSONObjectToYAMLObject(j map[string]interface{}) yaml.MapSlice

JSONObjectToYAMLObject converts an in-memory JSON object into a YAML in-memory MapSlice, without going through a byte representation. A nil or empty map[string]interface{} input is converted to an empty map, i.e. yaml.MapSlice(nil).

interface{} slices stay interface{} slices. map[string]interface{} becomes yaml.MapSlice.

int64 and float64 are down casted following the logic of github.com/go-yaml/yaml: - float64s are down-casted as far as possible without data-loss to int, int64, uint64. - int64s are down-casted to int if possible without data-loss.

Big int/int64/uint64 do not lose precision as in the json-yaml roundtripping case.

string, bool and any other types are unchanged.

func JSONToYAML

func JSONToYAML(j []byte) ([]byte, error)

JSONToYAML Converts JSON to YAML.

func Marshal

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

Marshal marshals the object into JSON then converts JSON to YAML and returns the YAML.

func Unmarshal

func Unmarshal(y []byte, o interface{}, opts ...JSONOpt) error

Unmarshal converts YAML to JSON then uses JSON to unmarshal into an object, optionally configuring the behavior of the JSON unmarshal.

func UnmarshalStrict

func UnmarshalStrict(y []byte, o interface{}, opts ...JSONOpt) error

UnmarshalStrict strictly converts YAML to JSON then uses JSON to unmarshal into an object, optionally configuring the behavior of the JSON unmarshal.

func YAMLToJSON

func YAMLToJSON(y []byte) ([]byte, error)

YAMLToJSON converts YAML to JSON. Since JSON is a subset of YAML, passing JSON through this method should be a no-op.

Things YAML can do that are not supported by JSON:

For strict decoding of YAML, use YAMLToJSONStrict.

func YAMLToJSONStrict

func YAMLToJSONStrict(y []byte) ([]byte, error)

YAMLToJSONStrict is like YAMLToJSON but enables strict YAML decoding, returning an error on any duplicate field names.

Types

type JSONOpt

type JSONOpt func(*json.Decoder) *json.Decoder

JSONOpt is a decoding option for decoding from JSON format.

Source Files

fields.go yaml.go yaml_go110.go

Version
v1.3.0
Published
Sep 22, 2021
Platform
windows/amd64
Imports
13 packages
Last checked
5 hours ago

Tools for package owners.