网络传输数据的序列化和反序列化(Json)

人盡茶涼 提交于 2019-11-26 17:07:11

C#菜鸟学习笔记

网络数据传输时,数据的序列化和反序列化(以Json为例)

对象转Json字符串

实验环境:Unity客户端
使用工具:LitJson.dll
步骤:

  1. 下载Litjson.dll,下载地址:https://dl.pconline.com.cn/download/1017689-1.html;

  2. 在Unity工程下创建Plusin文件夹,放入 Litjson.dll 文件

  3. 脚本添加Litjson引用,在命名空间using即可

  4. 使用:

     //最简单的用法(以用户信息为例)
    JsonData userInfo = new JsonData(); //创建一个json对象,并添加键值对
    userInfo["UserName"] = strUserName;
    userInfo["PassWord"] = strPassWord;
    string strJson = userInfo.ToJson();//将json转换成字符串
    //转化为字节数组,这样就生成能传输的数据了
    byte[] _sendData = Encoding.UTF8.GetBytes(strJson);
    

Json字符串转Dictionary<string, string>类型

服务端最快捷的方法:引用Newtonsoft.Json
使用**JsonConvert.DeserializeObject()**方法

int length = _server.ReceiveFrom(data,ref remoteIP);
string RecieveData = Encoding.UTF8.GetString(data,0, length);
Dictionary<string, string> RecieveDir = JsonConvert.DeserializeObject<Dictionary<string, string>>(RecieveData);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!