duanbinian2243 2016-06-21 20:07
浏览 243

yaml.marshal的Golang强制类型

I'm running into this case where I have to marshal a map[string]interface{} and print it out. What happens is that when I print it out, the yaml lib (gopkg.in/yaml.v2) converts the ints into strings and surrounds them by quotes while the strings are printed as strings without quotes. Example:

prop1: "1"
prop2: test
prop3: test2

I need other systems to read these values but could not find a way on enforcing the numeric types when I do yaml.Marshal().

My code for the above output looks something like this:

// receive output from somewhere else
pad := "%-16s%s"
raw, err := yaml.Marshal(output)
sArr := strings.Split(raw, "
")
for _, s := range sArr {
    fmt.Fprintln(c.StdOut, fmt.Sprintf(pad, s, ""))
} 

Any suggestions how to overcome this?

Thanks in advance! JC

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化
    • ¥15 Tableau online 嵌入ppt失败
    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度