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"`
}
それでは、どのようにこれを行うことができますか、構造体に複数の名前タグを定義しますか?
reflect
パッケージのドキュメントには次のように記載されています。
慣例により、タグ文字列は、オプションでスペースで区切られたkey: "value"ペアの連結です。各キーは、スペース(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"`
}
受け入れられた答えをありがとう。
以下は私のような怠け者向けです。
[〜#〜] incorrect [〜#〜]
type Page struct {
PageId string `bson:"pageId",json:"pageId"`
Meta map[string]interface{} `bson:"meta",json:"pageId"`
}
[〜#〜] correct [〜#〜]
type Page struct {
PageId string `bson:"pageId" json:"pageId"`
Meta map[string]interface{} `bson:"meta" json:"pageId"`
}