首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问题解析yaml文件

问题解析yaml文件
EN

Stack Overflow用户
提问于 2017-12-21 10:41:39
回答 1查看 329关注 0票数 0

我有以下结构,在解析yaml文件后填充,问题是缺少引号

文件in.yaml

例如:

代码语言:javascript
复制
_schema: "3.0.0"
bar:
- one

文件out.yaml

代码语言:javascript
复制
_schema: 3.0.0
bar:
- one

如您所见,我得到了3.0.0而不是“3.0.0”,知道如何克服这个问题吗?

这是我创建的一个小程序,用来演示这个问题

代码语言:javascript
复制
package main

import (
    "gopkg.in/yaml.v2"
    "io/ioutil"
)

type Config struct {
    Schema string `yaml:"_schema"`
    Bar []string
}

func main() {

    cfg := Config{}
    source, err := ioutil.ReadFile("in.yaml")
    if err != nil {
        panic(err)
    }
    err = yaml.Unmarshal([]byte(source), &cfg)
    if err != nil {
        panic(err)
    }
    y, _ := yaml.Marshal(&cfg)
    err = ioutil.WriteFile("out.yaml", y, 0644)}

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-21 13:31:11

YAML标准不需要引用所有的值,只有在要使用转义序列或使用某些字符时才需要引用。

您使用的这个库只在必要时在字符串周围添加"..."。例如,如果在字符串中使用冒号(尝试:"3:0:0"),它将保留在双引号中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47923157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档