将对象转换成二进制流的过程叫做序列化
将二进制流转换成对象的过程叫做反序列化
那么如何实现一个结构体序列化和反序列化呢?
JSON序列化和反序列化
在golang中,json的序列化和反序列化用到的是encoding/json包,提供了一系列相关的方法用于处理json。
自定义Go Json的序列化方法
如果你为类型实现了MarshalJSON() ([]byte, error)
和UnmarshalJSON(b []byte) error
方法,那么这个类型在序列化反序列化时将采用你定制的方法。
临时为一个struct增加一个字段,可以考虑采用如下的方式。
1 | package main |
参考: