EasyRTC视频会议项目开发中Golang json数据与map的相互转换说明

 WebRTC技术是目前使用最广泛的即时通信技术,它是一个开源项目,旨在创建简单、标准化的流程,通过Web提供实时通信(RTC)。EasyRTC视频会议云服务是TSINGSEE青犀视频团队基于WebRTC技术以及多年的行业技术积累经验,研发的一项覆盖全球的实时音频开发平台。在我们的不断优化当中,EasyRTC真正实现了只要能上网,就能参加视频会议的需求。

  在EasyRTC中,前端发送信令消息为json信息,类似为以下格式:


{ "people": [
 
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
 
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
 
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
 
]}


  在后台服务使用时,需要将json消息转换为后台可以处理的信息格式,一种方法是将json信息转换成对应的结构体,一种方式是将json信息转换成map哈希数据。结构体需要针对每个json信息封装对应的结构体,Map是一种数据结构,存放格式为key和value的键值对,本文介绍一下json与map之间的相互转换。

  将map转换为json字符串的实现为:


func Marshal(m map[string]interface{}) string {
   if byt, err := json.Marshal(m); err != nil {
      return ""
   } else {
      return string(byt)
   }
}



  将json字符串转换为map的实现为:


func Unmarshal(str string) (map[string]interface{}, error) {
   var data map[string]interface{}
   if err := json.Unmarshal([]byte(str), &data); err != nil {
      return nil, err
   } else {
      return data, nil
   }
}


云-边-端协同平台        加速人工智能落地 立即体验>>
png png
png
png png