我如何拥有YAML格式的密钥,该密钥可以将json数据接受为字符串?我试图将json数据括在引号中,但它读为地图列表。
test1: '[{'a':'abd','asxs': 'csd','sx':'sft'}]'
test2: default
我希望yaml以字符串形式读取“ test1”,而不是字典/映射列表。我怎么得到它?
我遇到以下错误:
解析请求输入时失败:“请求”字段“字符串” 只能解析字节或字符列表,无效元素: map [“ a”:“ abd”“ asxs”:“ csd”“ sx”:“ sft”]
答案 0 :(得分:0)
将test1
定义为string
而不是[]map[string]string
。您可以使用go-yaml来解析数据并将其加载到struct
的字段中。希望我能正确理解您的问题,否则请发表评论。这是一个完整的示例(请务必在开头使用大写字母来定义您的变量,例如Test1
)
package main
import (
"log"
"gopkg.in/yaml.v2"
)
func main() {
var data = `
test1: "[{ 'a': 'abd', 'ases': 'cad', 'sx': 'sft' }]"
test2: default
`
type T struct {
Test1 string
Test2 string
}
t := T{}
err := yaml.Unmarshal([]byte(data), &t)
if err != nil {
log.Fatalf("error: %v", err)
}
println("test1 value: ", t.Test1)
}