[Go]当把json解析到interface{}时 , 对应的真正类型
2023-02-18 15:41:36 时间
如果解析json时 , 把json解析到map[string]interface , 那值所对应的真正类型是下面这样的
bool, for JSON booleans
float64, for JSON numbers
string, for JSON strings
[]interface{}, for JSON arrays
map[string]interface{}, for JSON objects
nil for JSON null
json中的数值类型 , 会是float64类型
json对象会解析成 , map[string]interface
代码可以这样写:
func send(w http.ResponseWriter, r *http.Request){ w.Header().Set("content-type", "text/json;charset=utf-8;") var sendData map[string]interface{} bodyBytes,err:=ioutil.ReadAll(r.Body) if err!=nil{ msg, _ := json.Marshal(tools.JsonResult{Code: 400, Msg: "操作失败,"+err.Error()}) w.Write(msg) return } err = json.Unmarshal(bodyBytes, &sendData) if err!=nil{ msg, _ := json.Marshal(tools.JsonResult{Code: 400, Msg: "操作失败,"+err.Error()}) w.Write(msg) return } smtpServer:=sendData["smtp"].(string) smtpFrom:=sendData["from"].(string) msg, _ := json.Marshal(tools.JsonResult{Code: 200, Msg: smtpServer+smtpFrom}) w.Write(msg) }
相关文章
- Git提交记录
- 无法下载 http://dl.google.com/linux/chrome/deb/dists/stable/main/binary-amd64/Packages
- git提交报错does not match your user account
- 导出简书的文章生成gitbook上传到github通过xxx.github.io访问
- Git reset 之后 怎么恢复到 reset 之前的节点
- 准大三学生给想学习C++同学的学习路线
- 5000字用C++带你入门马氏链。
- Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)
- MongoDB从入门到实战之MongoDB简介
- vitepress+gitee pages搭建自己的博客网站
- git clone 拉取远程仓库
- mac 系统 homebrew 管理 PHP
- PHP 冒泡排序算法
- git tag 命令详解
- PHP 中的魔术方法
- PHP 拼手气红包分配算法
- git rm 从暂存区中删除内容
- git checkout 命令详解
- git add 命令详解
- git status 查看仓库文件状态