【发布时间】:2016-06-02 15:29:01
【问题描述】:
我有以下需要转换为 YAML 的 json
{
"siteidparam": "lid",
"sites": [
{
"name": "default",
"routingmethod": {
"method": "urlparam",
"siteid": "default",
"urlpath": "default"
}
},
{
"name": "csqcentral",
"routingmethod": {
"method": "urlparam",
"siteid": "capitolsquare",
"urlpath": "csq"
}
}
]
}
我使用了online JSON to YAML converter,它给出了以下输出,
---
siteidparam: "lid"
sites:
-
name: "default"
routingmethod:
method: "urlparam"
siteid: "default"
urlpath: "default"
-
name: "csqcentral"
routingmethod:
method: "urlparam"
siteid: "capitolsquare"
urlpath: "csq"
当我尝试将生成的相同 YAML 转换回 json from the online service 时,它给出了“无法解析”异常。
1.) 在 YAML 中表示上述类型的 json 的正确方法是什么?
我想在我的 golang 程序中读取这种 YAML。为此,我正在使用 spf13/viper 库,但我找不到任何能够解码这个数组对象之王的方法。
2.) 如何使用 viper 在 golang 中读取这种 YAML?示例代码会有所帮助。
【问题讨论】:
-
我不知道第二个问题的答案,但第一个问题的答案是您的问题中的 YAML is 是在您的问题中表示 JSON 的正确方法题。我不知道为什么链接的站点出现“无法解析”错误,但这是另一个解析它没有问题的站点:yaml-online-parser.appspot.com
-
你的第二个问题很模糊。你自己尝试过什么吗?如果是这样,是什么?你什么都没试过吗?你在看什么文档?本自述文件有示例:github.com/spf13/viper/blob/master/README.md