Go語言中json.Marshal()一直返回[123 125]的解決方法
阿新 • • 發佈:2019-02-16
Go語言中對結構體進行json.Marshal()一直返回[123 125]即“{}”,原因是go中是否可匯出是根據名字首字母是否大寫來確定的,如果結構體某欄位的首字母為小寫則不可匯出,例子如下(注意Student內欄位首字母的大小寫):
不可匯出:
type Student struct {
age uint64
name string
}
func main() {
s := &Student{
age: 25,
name: "Cloud",
}
b, _ := json.Marshal(s)
fmt.Println(b)
}
> [123 125]
可匯出:type Student struct { Age uint64 Name string } func main() { s := &Student{ Age: 25, Name: "Cloud", } b, _ := json.Marshal(s) fmt.Println(b) } > [123 34 65 103 101 34 58 50 53 44 34 78 97 109 101 34 58 34 67 108 111 117 100 34 125]