yaml

package module
v0.0.0-...-0904252 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2019 License: BSD-3-Clause, MIT Imports: 12 Imported by: 84

README

Build Status

YAML marshaling and unmarshaling support for Go

This is a fork of github.com/ghodss/yaml to provide modified YAML and JSON parsing for use with libcalico-go and calicoctl. The modifications include:

  • Swapping support of Float32 with Float64 (since calico does not use Float32)
  • Providing the ability to perform strict unmarshaling (i.e. erroring if a field in the document was not in the struct)
  • Slightly modified error messages to be less go-lang oriented and more user facing.
  • Indication of field names or values

Documentation

Overview

Copyright 2013 The Go Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func JSONToYAML

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

Convert JSON to YAML.

func Marshal

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

Marshals the object into JSON then converts JSON to YAML and returns the YAML.

func Unmarshal

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

Converts YAML to JSON then uses JSON to unmarshal into an object.

func UnmarshalStrict

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

UnmarshalStrict converts YAML to JSON then uses JSON to unmarshal into an object. Identical to the Unmarshal function, except that it returns an error (UnmarshalUnknownFieldsError) if there are fields present in the document that are not present in the struct.

func YAMLToJSON

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

Convert 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.

Types

This section is empty.

Jump to

Keyboard shortcuts

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