本文整理汇总了Golang中github.com/ghodss/yaml.YAMLToJSON函数的典型用法代码示例。如果您正苦于以下问题:Golang YAMLToJSON函数的具体用法?Golang YAMLToJSON怎么用?Golang YAMLToJSON使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了YAMLToJSON函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: argsToEnv
// argsToEnv uses reflection to convert a map[string]interface to a list
// of environment variables.
func argsToEnv(from map[string]interface{}, to map[string]string) error {
for k, v := range from {
if v == nil {
to[k] = ""
continue
}
t := reflect.TypeOf(v)
vv := reflect.ValueOf(v)
k = "PLUGIN_" + strings.ToUpper(k)
switch t.Kind() {
case reflect.Bool:
to[k] = strconv.FormatBool(vv.Bool())
case reflect.String:
to[k] = vv.String()
case reflect.Int, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int8:
to[k] = fmt.Sprintf("%v", vv.Int())
case reflect.Float32, reflect.Float64:
to[k] = fmt.Sprintf("%v", vv.Float())
case reflect.Map:
yml, _ := yaml.Marshal(vv.Interface())
out, _ := json.YAMLToJSON(yml)
to[k] = string(out)
case reflect.Slice:
out, err := yaml.Marshal(vv.Interface())
if err != nil {
return err
}
in := []string{}
err = yaml.Unmarshal(out, &in)
if err == nil {
to[k] = strings.Join(in, ",")
} else {
out, err = json.YAMLToJSON(out)
if err != nil {
return err
}
to[k] = string(out)
}
}
}
return nil
}
开发者ID:donny-dont,项目名称:drone,代码行数:55,代码来源:util.go
示例2: loadUnversionedIndex
// loadUnversionedIndex loads a pre-Alpha.5 index.yaml file.
//
// This format is deprecated. This function will be removed prior to v2.0.0.
func loadUnversionedIndex(data []byte) (*IndexFile, error) {
fmt.Fprintln(os.Stderr, "WARNING: Deprecated index file format. Try 'helm repo update'")
i := map[string]unversionedEntry{}
// This gets around an error in the YAML parser. Instead of parsing as YAML,
// we convert to JSON, and then decode again.
var err error
data, err = yaml.YAMLToJSON(data)
if err != nil {
return nil, err
}
if err := json.Unmarshal(data, &i); err != nil {
return nil, err
}
if len(i) == 0 {
return nil, ErrNoAPIVersion
}
ni := NewIndexFile()
for n, item := range i {
if item.Chartfile == nil || item.Chartfile.Name == "" {
parts := strings.Split(n, "-")
ver := ""
if len(parts) > 1 {
ver = strings.TrimSuffix(parts[1], ".tgz")
}
item.Chartfile = &chart.Metadata{Name: parts[0], Version: ver}
}
ni.Add(item.Chartfile, item.URL, "", item.Checksum)
}
return ni, nil
}
开发者ID:slack,项目名称:helm,代码行数:35,代码来源:index.go
示例3: ProcessFile
func ProcessFile(file string) ([]byte, error) {
ext := filepath.Ext(file)
isYaml := ext == ".yaml" || ext == ".yml"
isJson := ext == ".json"
if !isYaml && !isJson {
return nil, nil
}
bytes, err := ioutil.ReadFile(file)
if err != nil {
return nil, kerr.Wrap("NMWROTKPLJ", err)
}
if isYaml {
j, err := yaml.YAMLToJSON(bytes)
if err != nil {
return nil, kerr.Wrap("FAFJCYESRH", err)
}
bytes = j
}
return bytes, nil
}
开发者ID:kego,项目名称:ke,代码行数:25,代码来源:scanner.go
示例4: YamlToJson
func YamlToJson(inputBytes []byte, minify bool) []byte {
buffer, err := yaml.YAMLToJSON(inputBytes)
if err != nil {
fmt.Println("YAML -> JSON convert error.")
fmt.Printf("err: %v\n", err)
os.Exit(1)
}
if minify {
return buffer
} else {
jsonData, err := simplejson.NewJson(buffer)
if err != nil {
fmt.Println("JSON parse error.")
fmt.Printf("err: %v\n", err)
os.Exit(1)
}
prettyBytes, err := jsonData.EncodePretty()
if err != nil {
fmt.Println("JSON encode error.")
fmt.Printf("err: %v\n", err)
os.Exit(1)
}
return prettyBytes
}
}
开发者ID:y13i,项目名称:j2y,代码行数:31,代码来源:yaml_to_json.go
示例5: handleMeta
// handleMeta extracts data from api:meta markup
// there should only be one api:meta markup tag per project
// if there is more than one, the first tag will be used
func handleMeta(swagDoc *specs.SwagDoc, docs []string) error {
swagDoc.Swagger = "2.0"
y := []byte(docs[0])
j, err := yaml.YAMLToJSON(y)
err = json.Unmarshal(j, swagDoc)
return err
}
开发者ID:sfodje,项目名称:swagson,代码行数:10,代码来源:swagson.go
示例6: Read
// Read an input configuration file, parsing it (as YAML or JSON)
// into the input 'interface{}', v
func Read(path string, v interface{}, schema string) []serror.SnapError {
// read bytes from file
b, err := cfgReader.ReadFile(path)
if err != nil {
return []serror.SnapError{serror.New(err)}
}
// convert from YAML to JSON (remember, JSON is actually valid YAML)
jb, err := yaml.YAMLToJSON(b)
if err != nil {
return []serror.SnapError{serror.New(fmt.Errorf("error converting YAML to JSON: %v", err))}
}
// validate the resulting JSON against the input the schema
if errors := cfgValidator.validateSchema(schema, string(jb)); errors != nil {
// if invalid, construct (and return?) a SnapError from the errors identified
// during schema validation
return errors
}
// if valid, parse the JSON byte-stream (above)
if parseErr := json.Unmarshal(jb, v); parseErr != nil {
// remove any YAML-specific prefix that might have been added by then
// yaml.Unmarshal() method or JSON-specific prefix that might have been
// added if the resulting JSON string could not be marshalled into our
// input interface correctly (note, if there is no match to either of
// these prefixes then the error message will be passed through unchanged)
tmpErr := strings.TrimPrefix(parseErr.Error(), "error converting YAML to JSON: yaml: ")
errRet := strings.TrimPrefix(tmpErr, "error unmarshaling JSON: json: ")
return []serror.SnapError{serror.New(fmt.Errorf("Error while parsing configuration file: %v", errRet))}
}
return nil
}
开发者ID:Collinux,项目名称:snap,代码行数:32,代码来源:cfgfile.go
示例7: main
func main() {
args := os.Args[1:]
if len(args) == 0 {
fmt.Fprintln(os.Stderr, "missing input YAML file")
return
}
// Load YAML file:
ymlbytes, err := ioutil.ReadFile(args[0])
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
jsonbytes, err := yaml.YAMLToJSON(ymlbytes)
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
outName := FileName(args[0]) + ".json"
err = ioutil.WriteFile(outName, jsonbytes, 0644)
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
}
开发者ID:JamesDunne,项目名称:eminor2,代码行数:27,代码来源:main.go
示例8: Parsefile
func Parsefile(y []byte) ([]byte, error) {
file, err := yaml.YAMLToJSON(y)
if err != nil {
fmt.Printf("err: %v\n", err)
return nil, err
}
return file, nil
}
开发者ID:MaximeHeckel,项目名称:tutum-machine,代码行数:8,代码来源:tools.go
示例9: StateMapFromYaml
/*
Load a StateMap from a YAML byte array
*/
func StateMapFromYaml(data []byte) (*StateMap, error) {
j, err := yaml.YAMLToJSON(data)
if err != nil {
return nil, err
}
return StateMapFromJson(j)
}
开发者ID:vektorlab,项目名称:otter,代码行数:11,代码来源:state.go
示例10: yamlToJSON
func yamlToJSON(y []byte) ([]byte, error) {
j, err := yaml.YAMLToJSON(y)
if err != nil {
return nil, fmt.Errorf("yaml to json failed: %v\n%v\n", err, y)
}
return j, nil
}
开发者ID:eljefedelrodeodeljefe,项目名称:kubernetes,代码行数:8,代码来源:patch_test.go
示例11: unmarshalYAML
// unmarshalYAML re-implements yaml.Unmarshal so that the JSON decoder can have
// UseNumber set.
func unmarshalYAML(y []byte, o interface{}) error {
bs, err := yaml.YAMLToJSON(y)
if err != nil {
return fmt.Errorf("error converting YAML to JSON: %v", err)
}
buf := bytes.NewBuffer(bs)
decoder := util.NewJSONDecoder(buf)
return decoder.Decode(o)
}
开发者ID:tsandall,项目名称:opa,代码行数:11,代码来源:loader.go
示例12: LoadFile
func LoadFile(path string) (*gabs.Container, error) {
data, err := ioutil.ReadFile(path)
if err != nil {
return nil, errors.New(color.RedString("Manifest file `%s` not found: %v", path, err))
}
if jsonData, err := yaml.YAMLToJSON(data); err != nil {
return nil, errors.New(color.RedString("Error on parse manifest %s: %v!", path, err))
} else {
return gabs.ParseJSON(jsonData)
}
}
开发者ID:kulikov,项目名称:serve,代码行数:12,代码来源:loader.go
示例13: ToJSON
// ToJSON converts a single YAML document into a JSON document
// or returns an error. If the document appears to be JSON the
// YAML decoding path is not used (so that error messages are)
// JSON specific.
func ToJSON(data []byte, checkValid bool) ([]byte, error) {
if hasJSONPrefix(data) {
if checkValid {
var obj interface{}
if err := json.Unmarshal(data, &obj); err != nil {
return nil, err
}
}
return data, nil
}
return yaml.YAMLToJSON(data)
}
开发者ID:cjnygard,项目名称:origin,代码行数:16,代码来源:decoder.go
示例14: swagDocToJson
// swagDocToJson converts a swagDoc struct to json and returns a pointer
func swagDocToJson(swagDoc *specs.SwagDoc) (*[]byte, error) {
y, err := yaml.Marshal(swagDoc)
if err != nil {
return nil, err
}
j, err := yaml.YAMLToJSON(y)
if err != nil {
return nil, err
}
return &j, err
}
开发者ID:sfodje,项目名称:swagson,代码行数:14,代码来源:swagson.go
示例15: str2yaml
func str2yaml() {
y := []byte(`name: jeno
age: 33
food:
- pacal
- rum
`)
j2, err := yaml.YAMLToJSON(y)
if err != nil {
fmt.Printf("err: %v\n", err)
return
}
fmt.Println(string(j2))
}
开发者ID:voidabhi,项目名称:golang-scripts,代码行数:14,代码来源:yaml.go
示例16: Decode
// Decode reads a YAML document as JSON from the stream or returns
// an error. The decoding rules match json.Unmarshal, not
// yaml.Unmarshal.
func (d *YAMLToJSONDecoder) Decode(into interface{}) error {
if d.scanner.Scan() {
data, err := yaml.YAMLToJSON(d.scanner.Bytes())
if err != nil {
return err
}
return json.Unmarshal(data, into)
}
err := d.scanner.Err()
if err == nil {
err = io.EOF
}
return err
}
开发者ID:cjnygard,项目名称:origin,代码行数:17,代码来源:decoder.go
示例17: main
//go:generate goversion -major=1 -minor=0 -patch=0
func main() {
bytes, err := ioutil.ReadAll(os.Stdin)
if err != nil {
log.Panicln(err)
}
json, err := yaml.YAMLToJSON(bytes)
if err != nil {
log.Panicln(err)
}
print(string(json))
}
开发者ID:dearing,项目名称:tools,代码行数:15,代码来源:main.go
示例18: main
func main() {
yml, err := ioutil.ReadAll(os.Stdin)
if err != nil {
log.Fatalf("Could not read from standard in: %v", err)
}
jsn, err := yaml.YAMLToJSON(yml)
if err != nil {
log.Fatalf("Could not convert to yaml: %v", err)
}
formatted, err := FormatJSON(jsn)
if err != nil {
log.Fatalf("Could not format valid json: %v", err)
}
fmt.Println(string(formatted))
}
开发者ID:petemoore,项目名称:generic-worker,代码行数:15,代码来源:main.go
示例19: Decode
// Decode reads a YAML document as JSON from the stream or returns
// an error. The decoding rules match json.Unmarshal, not
// yaml.Unmarshal.
func (d *YAMLToJSONDecoder) Decode(into interface{}) error {
bytes, err := d.reader.Read()
if err != nil && err != io.EOF {
return err
}
if len(bytes) != 0 {
data, err := yaml.YAMLToJSON(bytes)
if err != nil {
return err
}
return json.Unmarshal(data, into)
}
return err
}
开发者ID:ncdc,项目名称:kubernetes,代码行数:18,代码来源:decoder.go
示例20: load
// load is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd.Load
// Load takes a byte slice and deserializes the contents into Config object.
// Encapsulates deserialization without assuming the source is a file.
func load(data []byte) (*clientcmdConfig, error) {
config := clientcmdNewConfig()
// if there's no data in a file, return the default object instead of failing (DecodeInto reject empty input)
if len(data) == 0 {
return config, nil
}
// Note: This does absolutely no kind/version checking or conversions.
data, err := yaml.YAMLToJSON(data)
if err != nil {
return nil, err
}
if err := json.Unmarshal(data, config); err != nil {
return nil, err
}
return config, nil
}
开发者ID:Ch3ck,项目名称:image,代码行数:19,代码来源:openshift-copies.go
注:本文中的github.com/ghodss/yaml.YAMLToJSON函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论