go Unexpected end of JSON input
有时候会提示者错误,json.umashal 输入空的字节数组,就报错不支持,所以在这里 可以对传入的字节数组 加一个判断 就可以了,或者确保 输入正确的数据。
type Person struct { Name string Age int64 Weight float64 } func main() { p1 := Person{ Name: "七米", Age: 18, Weight: 71.5, } // struct -> json string b, err := json.Marshal(p1) if err != nil { fmt.Printf("json.Marshal failed, err:%v\n", err) return } fmt.Printf("str:%s\n", b) // json string -> struct var p2 Person err = json.Unmarshal(b, &p2) if err != nil { fmt.Printf("json.Unmarshal failed, err:%v\n", err) return } fmt.Printf("p2:%#v\n", p2) }