首頁 >後端開發 >Golang >如何在 Go 結構中定義多個 JSON 和 BSON 標籤?

如何在 Go 結構中定義多個 JSON 和 BSON 標籤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-07 02:28:10419瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn