北漂程序员知识点积累分享
当前位置: go > go接口数据解析

go接口数据解析

2019-12-16 分类:go 作者:北漂程序员 阅读(251)

序列化和反序列化

1
2
3
4
5
6
7
序列化概念理解:就是将变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。

反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。
 
go json序列化?就是将go对象,例如map对象转化成json格式字符串这种操作,就是go json序列化。

go json反序列化?就是将go json字符串转换成go中 map对象的形式,就是go json反序列化

原生go请求接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
func VideoSet(w http.ResponseWriter, r *http.Request) {
    body := ReadBody(r)    
    configIn := model.ConfigIns{}    
    if err := json.Unmarshal([]byte(body), &configIn); //反序列化json格式
    err != nil {        
    logrus.Error("保存配置json解析异常:", err)        
        //io.WriteString(w, com.ToJsonString(com.Result{Status: 201, Msg: to.String(err)}))        
        return    
    }    
}

func ReadBody(r *http.Request)string{    
    bs,err:=ioutil.ReadAll(r.Body)    //ReadAll 读取r中的所有数据
    if err!=nil{        return  ""    }    
    return string(bs)
    }

封装go请求接口("github.com/ant0ine/go-json-rest/rest")

1
2
3
4
5
6
7
8
9
10
11
12
func(self *AddRoad) TakeBody(body interface{}) (result interface{},err error){
        obj,_:=json.Marshal(body)     //序列化json格式
        configIn := models.AddRoadTemp{}
        if err := json.Unmarshal([]byte(obj), &configIn);
        err != nil {        
            logrus.Error("保存配置json解析异常:", err)  
        return tools.Result{
            Status:"201",
            Msg:err.Error(),
            },nil      
        }
 }

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏

谢谢支持

支付宝
微信
0

谢谢支持

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

共有 0 条评论 - go接口数据解析

博客简介

北漂程序员的生活积累

最近更新

精彩评论

服务热线:
 

 QQ在线交流