[Go]当把json解析到interface{}时 , 对应的真正类型
2023-02-18 15:41:53 时间
如果解析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) }
相关文章
- 使用Kali Linux虚拟机破解WiFi密码的一波三折及详细操作步骤
- linux 下统计一个文件夹下文件的个数
- C++ 基础篇之如何进行数据封装
- 论c++中的文件操作(竞赛必看)通俗易懂
- C++中小数点后几位的表达
- 论c++中的数组,vector和array的区别及用法
- C++中的const究竟有什么好处呢?(必须干货)
- DNS服务器搭建(Linux版本)
- algorithm中的排序算法详解
- 我的go+初体验——大一从c++到go+的快速上手
- 蓝桥杯2020c++B组省赛
- Power BI 基于门店位置的产品销售排行
- Power BI基于门店位置的业绩达成表现
- Power BI模拟麦肯锡客流转化漏斗图
- Linux系列(31) - rpm命令管理之升级与卸载命令(3)
- Linux系列(30) - rpm命令管理之安装命令(2)
- Linux系列(29) - rpm包命名规则(1)
- Linux系列(28) - 软件包简介
- Linux系列(27) - 三剑客grep、awk、sed
- Linux系列(26) - 强制杀死进程