乐趣区

关于golang:go语言实践中有关yaml和json的实用点

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)
   }
}
退出移动版