我们使用go写后端服务的时候,经常需要使用json格式,但是你要初始化一个json结构,那是不是就得写一个struct呢? 其实不然。
我们使用interface特性,来加速开发效率。
1、定义结构体 type ResponseData struct { ErrNo int64 `json:"errno" description:"错误码 为0时表示没有错误,读取data字段数据为接口返回值"` ErrMsg string `json:"errmsg" description:"错误信息 当errno非0时,具体错误信息记录在errmsg字段中"` Data interface{} `json:"data" description:"数据"` }2、首先,初始化一个map类型的RespInfo,然后即可尽情的去定义类似RespInfo["xxx"] = xxx 格式的字段。
RespInfo := make(map[string]interface{}) RespInfo["ip"] = vmip RespInfo["cpu"] = vm.Cpu RespInfo["mem"] = vm.Mem RespInfo["disk"] = vm.Disk RespInfo["xxx"] = xxx 3、赋值,并返回 rp.ErrMsg = "ok" rp.ErrNo = "0" rp.Data = RespInfo resp.WriteEntity(rp)这样resp响应即可轻松实现,不用去写麻烦的结构体了。