[英]Go json.Unmarshal field case
我是新手。 我試圖將json數據提取並編組到結構中。 我的樣本數據如下所示:
var reducedFieldData = []byte(`[
{"model":"Traverse","vin":"1gnkrhkd6ej111234"}
,{"model":"TL","vin":"19uua66265a041234"}
]`)
如果我定義用於接收數據的結構,如下所示:
type Vehicle struct {
Model string
Vin string
}
Unmarshal的呼叫按預期方式工作。 但是,如果我對字段(“模型”和“ vin”)使用小寫字母,而實際上與數據中字段名稱的大小寫匹配,它將為值返回空字符串。
這是預期的行為嗎? 可以關閉約定嗎?
字段需要導出(以大寫首字母聲明),否則反射庫無法編輯它們。 由於JSON(un)編組器使用反射,因此它無法讀取或寫入未導出的字段。
是的,這是預料之中的,不,您不能更改它。 抱歉。
您可以將標簽添加到字段中以更改編組使用的名稱:
Model string `json:"model"`
有關字段標簽“ encoding / json”支持的更多信息,請參見文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.