当前位置: 首页 > news >正文

网站设计指南德国的网站后缀

网站设计指南,德国的网站后缀,东莞推广服务,我的网站为什么打不开怎么回事在上一章中#xff0c;简单介绍了本项目的内容、技术栈、需求和目标等#xff0c;详细介绍了环境配置#xff0c;如果还没有配置成功#xff0c;请参考我的上一篇博客环境配置 今天主要介绍Json库是什么以及简单的使用。 1.为什么要使用Json 我们在网络传输数据时#…在上一章中简单介绍了本项目的内容、技术栈、需求和目标等详细介绍了环境配置如果还没有配置成功请参考我的上一篇博客环境配置 今天主要介绍Json库是什么以及简单的使用。 1.为什么要使用Json 我们在网络传输数据时可能两端的操作系统或者所使用的语言不同相互转化存在困难因此我们需要使用序列化的手段将要发送的数据转成通信双方都能处理的格式比如XML、Json、protoBuf等然后接收方再反序列化出发送的消息。 2.Json库简单介绍 Json是一种轻量级的数据交换格式也叫数据序列化方式。Json采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 Json 成为理想的数据交换语言。 易于人阅读和编写同时也易于机器解析和生成并有效地提升网络传输效率。 在网络传输中一般有3中常见的序列化格式XMLJson、ProtoBuf ProtoBuf数据压缩编码传输占用带宽小复杂Json相比与ProtoBuf更简单但性能差一点XML性能差 本项目使用Json完成网络数据的序列化与反序列化。 3. Json的简单使用 我们可以直接使用大牛写好的一个Json库它只有一个hpp文件因此使用它只需要include就行 #include json.hpp using json nlohmann::json; //起个简单命名3.1Json序列化 将Json看成一个无序的容器类似unordered_map一样以键值对存储。其中键一定要用双引号括起来值无所谓可以是任意的类型。使用js.dump() json数据对象序列化为 json字符串然后发送。 string func1() {json js; //看成定义js容器js[msg_type] 2; //看成键值对值必须双引号括起来看成字符串值可以是任意类型js[from] zhang san;js[to] li si;js[msg] hello, what are you doing now?;cout js endl; //{from:zhang san,msg:hello, what are you doing now?,msg_type:2,to:li si}string sendBuf js.dump(); //转成Json字符串类型输出coutsendBuf.c_str()endl; //{from:zhang san,msg:hello, what are you doing now?,msg_type:2,to:li si}return sendBuf; }其中值可以存任意类型 string func2() {json js;// 添加数组js[id] {1, 2, 3, 4, 5};// 添加key-valuejs[name] zhang san;// 添加对象js[msg][zhang san] hello world;js[msg][liu shuo] hello china;// 上面等同于下面这句一次性添加数组对象js[msg] {{zhang san, hello world}, {liu shuo, hello china}};cout js endl; //输出{from:zhang san,msg:hello, what are you doing now?,msg_type:2,to:li si}return js.dump(); }值可以是容器 string func3() {json js;// 直接序列化一个vector容器vectorint vec;vec.push_back(1);vec.push_back(2);vec.push_back(5);js[list] vec;// 直接序列化一个map容器mapint, string m;m.insert({1, 黄山});m.insert({2, 华山});m.insert({3, 泰山});js[path] m;string sendBuf js.dump(); // json数据对象 》序列化 json字符串coutsendBufendl; //{list:[1,2,5],path:[[1,黄山],[2,华山],[3,泰山]]}return sendBuf; }3.2Json反序列化 数据反序列化json::parse(Json字符串)Json字符串反序列化Json数据对象看成unordered_map容器然后再通过键取值。 string recvBuf func1(); // 数据的反序列化 json字符串 》反序列化 数据对象看作容器方便访问 json jsbuf json::parse(recvBuf); coutjsbuf[msg_type]endl; //2 coutjsbuf[from]endl; //zhang san coutjsbuf[to]endl; //li si coutjsbuf[msg]endl; //hello, what are you doing now?总结 本文讲解了为什么需要使用Json库什么是Json库以及Json库的简单使用方法。其中Json可以看成一个unordered_map容器取使用。 在序列化时使用Json js创建一个json对象按键值对的方式添加元素使用js.dump()转成Json字符串然后发送。 接收方收到Json字符串后需要反序列化使用Json::parse()将Json字符串转为js对象再通过键去取对应的值。 注意键必须是字符串双引号括起来
http://www.w-s-a.com/news/133076/

相关文章:

  • 美橙网站注册华为手机网站建设策划方案论文
  • 河南省和建设厅网站首页在线图片翻译
  • 关于备案空壳网站清理通知去别人网站挂黑链
  • 做网站待遇世界购物平台排行榜
  • 售后服务网站什么网站免费做简历模板
  • 网站模板怎么修改成都网站优化seo
  • 给装修公司做推广的网站wordpress站点的根目录
  • 怎么创建企业网站wordpress怎么做404页面跳转
  • 福建省住房和建设厅网站网站做著作权
  • 编程代码网站网站搭建的注意事项
  • 音乐网站排名公司如何做自己的网站
  • 网站设计模式三网合一网站源代码
  • 珠海市品牌网站建设哪家好宛城区网站制作
  • 网站维护工程师代写文章兼职
  • 贵州城乡和建设厅网站企业网站备案名称窍门
  • .cc后缀网站湛江霞山
  • 青岛制作网站软件ui设计培训哪里好
  • 网站建设的构思环保公司宣传册设计样本
  • 如何做微网站网站和网店的区别
  • 免费下载建设银行官方网站下载天河区做网站
  • 中文网站建设开发北京网站建设公司升上去
  • 邯郸网站设计 贝壳下拉服务器绑定网站打不开
  • 重庆网站建设帝玖科技手机网站建设价钱是多少
  • 广西建设厅网站行业网学新媒体运营要多少钱
  • 石家庄个人建站网站策划门户网什么意思
  • 沈阳市浑南区城乡建设局网站wordpress 批量打印
  • 网站建设都需学哪些天津网站建设交易
  • 公司网站空间家装室内设计
  • 一个考试网站怎么做品牌建设10阶梯
  • 网站建设网站设计广东双语网站建设多少钱