簡體   English   中英

轉到json.unmarshal字段案例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM