为了账号安全,请及时绑定邮箱和手机立即绑定

如何将以下划线开头的字段编组为 JSON

如何将以下划线开头的字段编组为 JSON

Go
慕慕森 2021-10-04 18:12:49
Go 的encoding/json包具有一些出色的 JSON 编组功能,并且出于所有意图和目的,这正是我所需要的。但是当我想尝试编组我想插入到 MongoDB 实例中的东西时,问题就出现了。MongoDB 理解_id为索引标识符,但 Go 的 JSON 包仅编组导出的字段,因此 MongoDB 在我保存时为文档创建自己的 ID,这是我不想要的,我什至还没有开始测试它对解组的影响一个结构。有没有办法让 JSON 编组器包含以下划线开头的字段,而无需编写全新的字段?
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

您可以轻松地重命名字段。Go 名称应以要导出的大写字母开头,但 json 名称可以是任何符合 json 的名称。


这是一个借用 encoding/json 包文档的示例:


 package main


import (

    "encoding/json"

    "fmt"

    "os"

)


func main() {

    type ColorGroup struct {

        ID     int       `json:"_id"`

        Name   string

        Colors []string

    }

    group := ColorGroup{

        ID:     1,

        Name:   "Reds",

        Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},

    }

    b, err := json.Marshal(group)

    if err != nil {

        fmt.Println("error:", err)

    }

    os.Stdout.Write(b)

}


查看完整回答
反对 回复 2021-10-04
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信