func (s *Spec) MarshalYAML() ([]byte, error) {
	jsonData, err := s.MarshalJSON()
	if err != nil {
		return nil, err
	}
	var v orderedMap
	err = json.Unmarshal(jsonData, &v)
	if err != nil {
		return nil, err
	}
	return yaml.Marshal(yaml.MapSlice(v))
}
MarshalYAML produces YAML bytes.
package openapi3
import (
	"bytes"
	"encoding/json"
	"errors"
	"fmt"
	"gopkg.in/yaml.v2"
)
func (s *Spec) UnmarshalYAML(data []byte) error {
	var v interface{}
	err := yaml.Unmarshal(data, &v)
	if err != nil {
		return err
	}
	v = convertMapI2MapS(v)
	data, err = json.Marshal(v)
	if err != nil {
		return err
	}
	return s.UnmarshalJSON(data)
}