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

simamengde · · 491 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:simamengde

查看原文:go语言实践中有关yaml和json的实用点

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

491 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传