ホームページ >バックエンド開発 >Golang >MongoDB および JSON マーシャリング用に Go 構造体で複数のタグを定義するにはどうすればよいですか?

MongoDB および JSON マーシャリング用に Go 構造体で複数のタグを定義するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-14 14:54:15746ブラウズ

How to Define Multiple Tags in Go Structs for MongoDB and JSON Marshaling?

構造体での複数のタグ定義

構造体を使用して MongoDB にクエリを実行する場合、データベースの規則を尊重しながらデータをエンコードおよびデコードするために複数の名前タグが必要になる場合があります (例: MongoDB の "pageId") と JSON の必要な形式("pageId").

提供されたコードで、カンマを使用してタグ文字列を区切ろうとしたことが問題の原因です。正しいアプローチには、区切り文字としてスペースを使用することが含まれます。

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}

reflect パッケージのドキュメントに記載されているように、

"規則により、タグ文字列はオプションでスペースで区切られたキーを連結したものになります。 "value" ペア。"

これにより、構造体内で複数の名前タグを定義できるようになり、構造体をさまざまな命名規則に準拠させることができます。必須です。

以上がMongoDB および JSON マーシャリング用に Go 構造体で複数のタグを定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。