从 json 转成 strcut 可以算是go开发中的常事了。这里记录两个窍门。
通过 json 自动生成 struct 声明一般来说如果只有三四个字段,还是比较轻松的,如果有50个以上的字段,光是定义结构体,都要累死一拨人了~
这时候这个网站 https://app.quicktype.io/ 真是个神器一般的存在,可以根据 json 定义go struct。
进行开发,解析json数据时,我先写了以下的测试代码,用于判断数据的格式。不得不说,强类型的语言就是有这种不方便。
同时要注意下面几个事项:
- 解析出来的 int 类型会变成 float64 类型
- 要注意和前端的交互,某些情形下前端解析 int64 会有精度问题,如果涉及前端的交互,尽量避免使用int64,或先转成string再与前端交互。
由上一个步骤接着往下走,使用 encoding/json 库中的格式化命令,先将 json 格式化,再反格式化成 struct:
参考资料