• [Go]当把json解析到interface{}时 , 对应的真正类型


    如果解析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)
    }
  • 相关阅读:
    mysql字符集编码整理
    mysql 修改字符集
    数据库高并发的设计
    mysql 中 character set 与 collation 的理解
    阿里代码规范检查工具的安装使用
    安卓学习Day05
    安卓学习Day04
    安卓学习Day03
    安卓学习day02
    安卓学习Day1
  • 原文地址:https://www.cnblogs.com/taoshihan/p/12960449.html
Copyright © 2020-2023  润新知