首頁 > 後端開發 > Golang > 如何在 Go JSON Marshal 中省略空巢狀結構?

如何在 Go JSON Marshal 中省略空巢狀結構?

Patricia Arquette
發布: 2024-12-16 02:41:14
原創
595 人瀏覽過

How to Omit Empty Nested Structs in Go JSON Marshal?

Go JSON Marshal:省略空嵌套結構

Go 中的json:",omitempty" 標籤可讓您排除具有空白的欄位JSON 輸出的值。但是,此行為不適用於零值結構。

要省略巢狀結構(如果它有任何空白欄位),您可以使用指標而不是非指標結構。這可確保該結構在未分配非零值的情況下被視為空。

例如,考慮以下結構:

type ColorGroup struct {
    ID     int `json:",omitempty"`
    Name   string
    Colors []string
}

type Total struct {
    A *ColorGroup `json:",omitempty"` // Use pointer
    B string       `json:",omitempty"`
}
登入後複製

在這種情況下,如果 group .A 未分配非零值,它將被視為空並從 JSON 輸出中省略。這與使用非指標結構形成對比,後者仍會在 JSON 輸出中包含空 group.A。

以下 Playground 連結示範了此行為:https://play.golang.org/p /3i7rh4e3t3D

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板