假如你有一段json
{"a":123, b: {这里的数据结构是不定的}}恰好不固定的结构体中有个整型此时需要定义一个结构体来接收
type Data struct { a int64 `json:"a"` Bdata any `json:"b"`}正常的解析步骤
var msg = "JSON字符串"var data = Data{}if err = json.Unmarshal([]byte(msg), &data);err!=nil{// 错误处理}这样解析出来的 data.Bdata 中的数据,如若有 int64,会自动转为string。并且有精度丢失
正确的解析方法
var msg = "JSON字符串"var data = Data{}decoder := json.NewDecoder(strings.NewReader(data))decoder.UseNumber()if err = decoder.Decode(&data); err != nil { // 错误处理}
评论 (0)