小编Kar*_*ung的帖子

go中的JSON编组/解组同一个结构到不同的JSON格式?

我有一个结构,我想根据上下文不同地制作成JSON.

例如,有时我想像这样编组:

    type MyStruct struct {
        Nickname       string `json:"nickname"`
        EmailAddress   string `json:"email_address"`
        PhoneNumber    string `json:"-"`
        MailingAddress string `json:"-"`
    }
Run Code Online (Sandbox Code Playgroud)

有时我想像这样编组:

    type MyStruct struct {
        Nickname       string `json:"nickname"`
        EmailAddress   string `json:"email_address"`
        PhoneNumber    string `json:"phone_number"`
        MailingAddress string `json:"mailing_address"`
    }
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以做到这一点:

  1. 制作2个独立的结构.
  2. 编写自定义编组.
  3. 暂时删除PhoneNumber和MailingAddress的字符串值(标记上有omitempty),编组然后再添加它们.

如果只有一种方法:

  1. 指定2组标签并告诉编组器使用哪些标签.
  2. 在运行时动态更改标记.

json struct marshalling go unmarshalling

6
推荐指数
1
解决办法
2054
查看次数

标签 统计

go ×1

json ×1

marshalling ×1

struct ×1

unmarshalling ×1