1.golang的map在yaml中应该配置成如下:
testMap: {"aaa":true,"bbb":true,"ccc"}
2.空的字符串反序列json会失败。
具体代码如下:
package main
import (
"encoding/json"
"fmt"
"gopkg.in/yaml.v2"
"io/ioutil"
)
type testYAML struct {
TestMap map[string]bool `yaml:"testMap"`
}
type testJSON struct {
TestName string `json:"name"`
TestAge int `json:"age"`
}
func main() {
data := &testYAML{}
content, err := ioutil.ReadFile("./test.yaml")
if err != nil {
fmt.Printf("ReadFile_Err: %v\n", err)
return
}
if err := yaml.Unmarshal(content, data); err != nil {
fmt.Println("YAML_Unmarshal_ERR:", err)
}
fmt.Println("YAML:", *data)
testJSONFunc()
}
func testJSONFunc() {
testData := testJSON{}
// 空的字符串json反序列化会失败
if err := json.Unmarshal([]byte(""), &testData); err != nil {
fmt.Println("JSON_Unmarshal_Err:", err)
} else {
fmt.Println("JSON:", testData)
}
}
有疑问加站长微信联系(非本文作者)