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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值