文章

Golang Json序列化与反序列化

Golang Json序列化与反序列化

1. 结构体嵌入其他结构体指针

在json序列化时,如果指针为nil,会忽略这个字段

在反序列化时:

场景值类型嵌入指针类型嵌入
JSON 有全部字段正常赋值创建指针,正常赋值
JSON 有部分字段部分赋值,其余零值创建指针,指针指向结构体部分赋值,其余零值
JSON 无任何字段保持零值保持 nil

2. 结构体嵌入其他结构体,或无嵌入

嵌入其他结构体时,序列化与反序列化,按照tag来执行的 其中omitempty对反序列化是无影响的,它只对序列化有影响,属性有这个标记时,其值为其类型零值时,序列化将不会有该属性

本文由作者按照 CC BY 4.0 进行授权