首頁  >  文章  >  後端開發  >  可以使用 MarshalJSON() 將任意欄位加入 Go 中的 JSON 編碼嗎?

可以使用 MarshalJSON() 將任意欄位加入 Go 中的 JSON 編碼嗎?

Barbara Streisand
Barbara Streisand原創
2024-11-12 08:47:01549瀏覽

Can You Add Arbitrary Fields to JSON Encoding in Go Using MarshalJSON()?

如何使用MarshalJSON() 在Go 中添加任意字段到JSON 編碼

問題:

使用json.Marshal() 對結構體進行編碼時,您可能需要在JSON 輸出中包含不屬於結構體定義的其他欄位。這對於需要向 JSON 負載添加元資料或上下文資訊的場景非常有用。

問題:

是否可以利用 MarshalJSON() 方法將任意欄位合併到結構體的 JSON 表示中?

答案:

是的,您可以使用 MarshalJSON() 將任意欄位新增至 Go 中的 JSON 編碼。此方法允許您自訂結構體的 JSON 表示,從而更好地控制輸出。

實作:

您可以為以下物件建立自訂MarshalJSON() 方法您的結構體使用附加欄位建構一個新結構體,然後將其編組為JSON:

type Book struct {

以上是可以使用 MarshalJSON() 將任意欄位加入 Go 中的 JSON 編碼嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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