登录
首页 >  Golang >  Go问答

将 null 分配给 JSON 字段而不是空字符串

来源:Golang技术栈

时间:2023-03-09 09:26:40 431浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《将 null 分配给 JSON 字段而不是空字符串》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

由于空字符串是 Go 的零/默认值string,我决定改为定义所有此类字段interface{}。例如

type student struct {
    FirstName  interface{} `json:"first_name"`
    MiddleName interface{} `json:"middle_name"`
    LastName   interface{} `json:"last_name"`
}

如果该特定字段的值不可用,则我发送数据的应用程序需要 null 而不是空字符串。

这是正确的方法还是有人可以指出比这更好的方法。

正确答案

json 包文档中:

指针值编码为指向的值。nil 指针编码为 null JSON 对象。

因此,您可以存储一个指向字符串的指针,如果不是 nil,该字符串将被编码为字符串,如果为 nil,则将被编码为“null”

type student struct {
  FirstName  *string `json:"first_name"`
  MiddleName *string `json:"middle_name"`
  LastName   *string `json:"last_name"`
}

本篇关于《将 null 分配给 JSON 字段而不是空字符串》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表