Documentation
¶
Overview ¶
Package yaml provides a wrapper around go-yaml designed to enable a better way of handling YAML when marshaling to and from structs.
In short, this package first converts YAML to JSON using go-yaml and then uses json.Marshal and json.Unmarshal to convert to or from the struct. This means that it effectively reuses the JSON struct tags as well as the custom JSON methods MarshalJSON and UnmarshalJSON unlike go-yaml.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Unmarshal ¶
Unmarshal converts YAML to JSON then uses JSON to unmarshal into an object, optionally configuring the behavior of the JSON unmarshal.
func UnmarshalMultipleDocuments ¶
UnmarshalMultipleDocuments unmarshal a YAML input that contains multiple Yaml documents into an array of object.
func YAMLToJSON ¶
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:
- In YAML you can have binary and null keys in your maps. These are invalid in JSON. (int and float keys are converted to strings.)
- Binary data in YAML with the !!binary tag is not supported. If you want to use binary data with this library, encode the data as base64 as usual but do not use the !!binary tag in your YAML. This will ensure the original base64 encoded data makes it all the way through to the JSON.