如果没有别名,字串中字段的名称为大写(结构体中小写的字段将返回空串,因为对其他包不可见)
package main
import (
"fmt"
"encoding/json"
)
type Cat struct{
Name string
Age int
}
func main(){
var cat = Cat{"大黄", 1}
// func Marshal(v interface{}) ([]byte, err)
switch bytes, err := json.Marshal(cat); {
case err != nil:
fmt.Println("json时发生错误:", err)
default:
fmt.Println("cat进行json化后, []byte =", bytes)
fmt.Println("json字串为:", string(bytes))
}
}
结果:
所以要使用别名
结果: