Golang Json序列化与反序列化
Golang Json序列化与反序列化
1. 结构体嵌入其他结构体指针
在json序列化时,如果指针为nil,会忽略这个字段
在反序列化时:
| 场景 | 值类型嵌入 | 指针类型嵌入 |
|---|---|---|
| JSON 有全部字段 | 正常赋值 | 创建指针,正常赋值 |
| JSON 有部分字段 | 部分赋值,其余零值 | 创建指针,指针指向结构体部分赋值,其余零值 |
| JSON 无任何字段 | 保持零值 | 保持 nil |
2. 结构体嵌入其他结构体,或无嵌入
嵌入其他结构体时,序列化与反序列化,按照tag来执行的 其中omitempty对反序列化是无影响的,它只对序列化有影响,属性有这个标记时,其值为其类型零值时,序列化将不会有该属性
本文由作者按照 CC BY 4.0 进行授权