Go 语言中 json 的操作以及常见问题

2018-06-16 17:04:16 1835 1 技术文章

常见问题

结构体里的字段首字母必须大写

type Person struct{
    Name string
    Age int
}

func main(){
  person := Person{"小明",18}
  if result, err := json.Marshal(&person);err == nil {
    fmt.Println(string(result))
  }
}

控制台输出:{"Name":"小明","Age":18}

如果字段首字母为小写的话,解析会有问题,得到的值为空。

可以通过字段的 tag 指定 struct 转 json 后的首字母小写

type Person struct {
    Name string `json:"name"`    
    Age int `json:"age"`
    Time int64 `json:"-"` // 忽略字段
}

func main(){
  person:=Person{"小明",18, time.Now().Unix()}
  if result,err:=json.Marshal(&person);err==nil{
     fmt.Println(string(result))
  }
}

控制台输出:{"name":"小明","age":18}

  • 三杯蛙 评论于 2019-01-24 09:56

    小写的话,json读取不到里面的值

您的邮箱不会被公开