序列化
- 进行序列化的对象中只有首字母大写的字段会进行序列化
反序列化
反序列化的对象与实际json对象不完全一致
- 反序列化的对象比实际json对象多字段或少字段都能反序列化成功
反序列化的对象中含有interface{}
package main
import (
"encoding/json"
"fmt"
"reflect"
)
type object struct {
Code interface{} `json:"code"`
Msg interface{} `json:"msg"`
Data interface{} `json:"data"`
Arr interface{} `json:"arr"`
}
func main() {
bs := []byte(`{"code":200,"msg":"success","data":{"id":10,"name":"Bob"},"arr":[1,2,3,4]}`)
o := &object{}
_ = json.Unmarshal(bs,o)
fmt.Println(reflect.TypeOf(o.Code))
fmt.Println(reflect.TypeOf(o.Msg))
fmt.Println(reflect.TypeOf(o.Data))
fmt.Println(reflect.TypeOf(o.Arr))
}