新Sir

导航

 

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)
}

  

 

posted on 2021-07-01 19:11  新Sir  阅读(1451)  评论(0编辑  收藏  举报