1 回答
TA贡献1772条经验 获得超8个赞
使用地图(类型)对JSON 中的对象map[string]SMSPhone建模:sms
type SMSPhone struct {
Status string `json:"status"`
StatusCode int `json:"status_code"`
StatusText string `json:"status_text"`
}
type SMSSendJSON struct {
Status string `json:"status"`
StatusCode int `json:"status_code"`
Sms map[string]SMSPhone `json:"sms"`
Balance float64 `json:"balance"`
}
然后解组:
var result SMSSendJSON
if err := json.Unmarshal([]byte(src), &result); err != nil {
panic(err)
}
fmt.Printf("%+v", result)
将导致(在Go Playground上尝试):
{Status:OK StatusCode:100 Sms:map[79035671233:{Status:ERROR StatusCode:203 StatusText:No message text} 79105432212:{Status:ERROR StatusCode:203 StatusText:No message text} 79607891234:{Status:ERROR StatusCode:203 StatusText:没有消息文本}]余额:2676.18}
映射中的键result.Sms
是对象的“动态”属性,即电话号码。
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报