oasconv

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2021 License: AGPL-3.0 Imports: 18 Imported by: 1

Documentation

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 OAS2ConvTo3

func OAS2ConvTo3(v2 *openapi2.Swagger) (v3 *openapi3.Swagger, err error)

func OAS3ConvTo2

func OAS3ConvTo2(v3 *openapi3.Swagger) (v2 *openapi2.Swagger, err error)

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 is like Unmarshal except that any mapping keys that are duplicates will result in an error. To also be strict about unknown fields, add the DisallowUnknownFields option.

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:

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

For strict decoding of YAML, use YAMLToJSONStrict.

func YAMLToJSONIndent

func YAMLToJSONIndent(y []byte, prefix, indent string) ([]byte, error)

返回格式化的 json

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.

type Protocol

type Protocol string
const (
	OAS2JSON Protocol = "oas2-json"
	OAS2YAML Protocol = "oas2-yaml"
	OAS3YAML Protocol = "oas3-yaml"
	OAS3JSON Protocol = "oas3-json"
)

func (Protocol) String

func (protocol Protocol) String() string

Jump to

Keyboard shortcuts

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