Go语言中关于JSON的整理
JSON作为一种在不同平台间的数据交换格式,Go的标准包encoding/json中实现了对json的编码(marshal)和解码(unmarshal)功能。 json.Marshal json.Marshal函数实现Json的编码: 如果给定的值不等于nil并且实现了json.Marshaler接口,调用json.Marshaler的MarshalJSON方法完成编码 如果没有实现json.Marshaler接口,而是实现了encoding.TextMarshaler,将调用其MarshalText完成编码 否则将按照下面的默认情况进行编码: bool 编码为 JSON boolean 整形,浮点型等数值 编码为 JSON number string 编码为 JSON string array和slice编码为JSON array, []byte作为例外会被编码成base64 string map[string]interface{}编码为JSON object struct编码为JSON object(只适用struct的可导出字段) nil编码为JSON null json tag定制struct编码 json:"-"忽略字段