package parse import ( "encoding/json" "fmt" "testing" ) func TestConvStringToInt(t *testing.T) { type Foo struct { Num string `json:"num"` } data, _ := json.Marshal(&Foo{Num: "1234"}) fmt.Println(string(data)) type Bar struct { Num int `json:"num,string"` } //为什么不进行转换的尝试,再出错了? bar := Bar{} err := json.Unmarshal(data, &bar) if err != nil { fmt.Println(err) return } fmt.Println(bar) } func TestConvStringToInt2(t *testing.T) { type Foo struct { Num int `json:"num"` } data, _ := json.Marshal(&Foo{Num: 1234}) fmt.Println(string(data)) type Bar struct { Num int `json:"num, string"` } //为什么不进行转换的尝试,再出错了? bar := Bar{} err := json.Unmarshal(data, &bar) if err != nil { fmt.Println(err) return } fmt.Println(bar) }