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) }}