• 序列化-反序列化--json-xml-protoBuf


    序列化和反序列化

    数据在网络中传输需要按照一定的规范组成。这些规定的规范有json,xml,protobuf。

    序列化

    也就是说数据需要通过网络传输时,需要把数据转化为需要的传输格式,所以需要把需要传输的数据生成json或者xml或者protobuf语言格式文件,才能传输。

    反序列化

    当数据传输完成时,又需要把格式文件转为原本或者我们需要(比如数据从lua解析出来,反序列化之后需要变为js数据)的数据。

    JSON、XML 和 protobuf

    JSON、XML 和 Protocol Buffers(protobuf)是三种常见的数据表现格式。它们的共同目的是在不同的应用程序和平台之间传输数据,而无需知道底层数据结构或编程语言细节。

    以下是每种格式的简要描述:

    1. JSON(JavaScript Object Notation):是一种轻量级的数据交换格式。它是基于 JavaScript 对象语法,并以文本格式存储数据。JSON 是平台无关的,易于解析和生成,可被普遍支持。由于其简单、快速和安全,JSON 已成为 Web 开发中最流行的数据交换格式。
    2. XML(eXtensible Markup Language):与 JSON 类似,XML 也是一种可读性高,轻量级的数据交换格式。XML 是基于标签结构,并以文本格式存储数据。XML 具有严格的结构和丰富的元数据,可用于描述复杂的数据和多级场景,并具有广泛的应用。
    3. Protocol Buffers:是 Google 研发的一种高效的二进制数据交换格式。由于其高效的编解码和紧凑的数据表示,Protocol Buffers 已成为一种流行的网络通信协议和数据交换格式。 它是强类型的,并具有自描述、可扩展、跨平台和反向兼容等优点。
     

    JSON

    json教程

    json语法:

    一个{}就是一个json对象

    parse解析时,就会将解析出来的一个{}json对象赋值给一个js对象变量;

    比如:

    1. //json对象
    2. { "name":"runoob", "alexa":10000, "site":null }
    3. //js对象
    4. var myObj;
    5. myObj = { "name":"runoob", "alexa":10000, "site":null };

    js对象和变量

    1. //将一个json字符串赋给一个js变量
    2. var person = '{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}';
    3. //建立一个对象
    4. var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

    json---parse

    1. var data='{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }';
    2. var obj = JSON.parse(data);
    3. /*
    4. obj={ "name":"runoob", "alexa":10000, "site":"www.runoob.com" };
    5. */

    箭头函数

    链接

    1. function foo() {
    2. let bar = () => {
    3. console.log(arguments.length);
    4. }
    5. bar();
    6. }
    7. foo(5, 5, 5); // 3
    8. bar是函数对象,通过函数对象+()调用箭头函数。

    js的函数对象就像c++的lambda表达式。

    xml

    json和xml比较

    json---键值对;

    xml---标签;

  • 相关阅读:
    智安网络|揭秘安全测试和渗透测试的异同点
    JavaScript--跟随pink老师视频学习版 (2022)
    IGBT厂商扩产,APS生产排产帮助企业充分利用设备产能
    Python与数据分析--每天绘制Matplotlib库实例图片3张-第1天
    Si24R03—低功耗 SOC 芯片(集成RISC-V内核+2.4GHz无线收发器)
    emqx 启动正常,但是1883端口无法telnet,emqx无法正常工作
    MySQL数据库:2、MySQL的下载与安装、基本使用、系统服务制作
    前后端分离项目验证码实现
    react错误捕获
    05※、Map集合介绍、HashMap、Hashtable、LinkedHashMap、Properties和Collections
  • 原文地址:https://blog.csdn.net/m0_60274660/article/details/136322697