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

Go 構造体で複数の JSON タグと BSON タグを定義するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-07 02:28:10402ブラウズ

How to Define Multiple JSON and BSON Tags in a Go Struct?

Go 構造体での複数のフィールド タグの定義

MongoDB データベースからデータを取得して JSON 用にエンコードするには、 MongoDB と JSON シリアル化の両方に適切なタグを含む構造体。ただし、JSON でエンコードされたフィールドが、必要な小文字ではなく大文字で表示されるという問題が発生します。これを解決するには、フィールドのタグ文字列内に複数の名前タグを定義する必要があります。

この課題の解決策は、タグ文字列の区切り文字としてカンマの代わりにスペースを利用することです。次の更新されたコードは、このアプローチを示しています。

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

Go リフレクト パッケージのドキュメントによると、タグ文字列は特定の規則に従います。

「規則により、タグ文字列はオプションでスペースを連結したものになります」 -分離されたキー:"値" ペア。"

この規則に従うと、単一のフィールド内の各フィールドに複数の名前タグを定義できます。タグ文字列。名前タグの順序は重要ではなく、値は " 文字を使用して引用符で囲む必要があります。

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

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