• 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

    }

    }

    目前EasyRTC正在进行新架构的研发,对于原有的架构,我们部分做了修改和保留,新架构下的EasyRTC也将在不久后和大家见面,我们也会不定期分享我们的开发过程,欢迎大家与我们沟通探讨。

  • 相关阅读:
    C#中Bitmap类实现对图像操作的一些方法
    C# GDI+ 文字操作
    C#中使用GDI+实现复杂打印
    【Python基础】json.dumps()和json.loads()、json.dump()和json.load()的区分
    【Python爬虫】selenium基础用法
    【Python爬虫】PyQuery解析库
    【Python爬虫】BeautifulSoup 解析库
    【Python爬虫】正则表达式与re模块
    【Python爬虫】Requests库的基本使用
    【Python基础】*args,**args的详细用法
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/15007527.html
Copyright © 2020-2023  润新知