我需要从mongo数据库中获取一个项目,所以我定义了一个结构,如下所示
type Page struct {
PageId string `bson:"pageId"`
Meta map[string]interface{} `bson:"meta"`
}
现在我还需要将其编码为JSON,但是它将字段编码为大写(我得到的是PageId而不是pageId),所以我还需要为JSON定义字段标记。我试过这样的方法,但不起作用:
type Page struct {
PageId string `bson:"pageId",json:"pageId"`
Meta map[string]interface{} `bson:"meta",json:"pageId"`
}
那么如何在一个结构中定义多个name标签呢?
发布于 2013-09-05 20:07:58
上面写着in the documentation of the reflect
package
按照惯例,标记字符串是空格分隔的键:“值”对的串联。每个键都是一个非空字符串,由除空格(U+0020‘')、引号(U+0022 '"')和冒号(U+003A ':')以外的非控制字符组成。每个值都使用U+0022 '"’字符和Go字符串文字语法进行引号。
您需要做的是使用空格而不是逗号作为标记字符串分隔符。
type Page struct {
PageId string `bson:"pageId" json:"pageId"`
Meta map[string]interface{} `bson:"meta" json:"meta"`
}
发布于 2015-06-04 18:18:53
感谢你接受的答案。
下面是给像我这样懒惰的人的。
不正确的
type Page struct {
PageId string `bson:"pageId",json:"pageId"`
Meta map[string]interface{} `bson:"meta",json:"pageId"`
}
正确的
type Page struct {
PageId string `bson:"pageId" json:"pageId"`
Meta map[string]interface{} `bson:"meta" json:"pageId"`
}
https://stackoverflow.com/questions/18635671
复制相似问题