1 回答

TA貢獻1830條經驗 獲得超3個贊
創建一個自定義解組器,解組整個事情,然后為您轉換:
type MyStruct struct {
? ? ID? ? ? ? ? ? ? ? ? int? ? `json:"Id"`
? ? Language? ? ? ? ? ? string `json:"Language"`
? ? Location? ? ? ? ? ? string `json:"Location"`
}
type val struct {
? ? Value struct {
? ? ? ? String string `json:"String_"`
? ? ? ? Long? ?int? ? `json:"Long"`
? ? }
}
func (s *MyStruct) UnmarshalJSON(p []byte) error {
? ? var result struct{
? ? ? ? ID? ? ? ?val `json:"Id"`
? ? ? ? Language val `json:"language"`
? ? ? ? Location val `json:"location"`
? ? }
? ? if err := json.Unmarshal(p, &result); err != nil {
? ? ? ? return err
? ? }
? ? s.ID = result.ID.Value.Long
? ? s.Language = result.Langauge.Value.String
? ? s.Location= result.Location.Value.String
? ? return nil
}
請注意,在此示例中完成了最少的錯誤檢查和數據驗證
- 1 回答
- 0 關注
- 120 瀏覽
添加回答
舉報