Go 解析JSON 的預設值規格
Go 使用encoding/json 套件解析JSON 資料時,可能會遇到這樣的需求為輸入中缺少的欄位分配預設值。
使用方法coding/json 套件
是的,內建的encoding/json 套件允許你指定預設值。您可以建立一個具有預設值的結構並將其傳遞給解組函數,而不是初始化用於 JSON 解組的空結構。
範例:
type Test struct { A string B string C string } func main() { var example []byte = []byte(`{"A": "1", "C": "3"}`) out := Test{ A: "default a", B: "default b", } if err := json.Unmarshal(example, &out); err != nil { panic(err) } fmt.Printf("%+v", out) }
中在此範例中,A 和 B 的值分別指定為「預設 a」和「預設 b」。解組 JSON 時,它只修改輸入中存在的值(A 和 C),而其他值保持不變。
輸出:
{A:1 B:default b C:3}
以上是Go中解析JSON時如何設定預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!