首頁 >後端開發 >Golang >如何在 Go 的 json.Marshal 中省略空嵌套結構?

如何在 Go 的 json.Marshal 中省略空嵌套結構?

DDD
DDD原創
2024-12-09 07:49:05996瀏覽

How to Omit Empty Nested Structs in Go's `json.Marshal`?

golang json marshal:如何省略空嵌套結構

在複雜的JSON 編碼場景中,可能會遇到應該省略的嵌套空結構也被編碼的情況是出於空間和效率的目的。例如,考慮以下程式碼片段:

當json.Marshal 用於具有空A 欄位的Total 實例時,它仍然出現在輸出JSON 中:

期望的輸出JSON 中:

期望的結果是完全省略 A欄位:

解決方案:利用指標類型

解決這個問題的關鍵在於指標的使用。如果Total 中的A 欄位宣告為指針,則在未明確賦值時會自動設為nil,解決了空結構編碼的問題:

經過此修改,json.Marshal 輸出現在將正確省略空A 欄位:

以上是如何在 Go 的 json.Marshal 中省略空嵌套結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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