使用地图(类型为
map[string]SMSPhone)
sms在JSON中对对象进行建模:
type SMSPhone struct { Status string `json:"status"` StatusCode int `json:"status_pre"` StatusText string `json:"status_text"`}type SMSSendJSON struct { Status string `json:"status"` StatusCode int `json:"status_pre"` Sms map[string]SMSPhone `json:"sms"` Balance float64 `json:"balance"`}然后拆封:
var result SMSSendJSonif 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:Неттекстасообщения}} 79105432212:{Status:ERROR StatusCode:203
StatusText:Неттекстасообщения} 79607891234:{Status:
StatusText:Неттекстасообщения}]余额:2676.18}
result.Sms地图中的键是对象的“动态”属性,即电话号码。



