序列化-反序列化--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对象变量;
比如:
//json对象{ "name":"runoob", "alexa":10000, "site":null }//js对象
var myObj;
myObj = { "name":"runoob", "alexa":10000, "site":null };
js对象和变量
//将一个json字符串赋给一个js变量
var person = '{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}';//建立一个对象
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
json---parse
var data='{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }';
var obj = JSON.parse(data);/*
obj={ "name":"runoob", "alexa":10000, "site":"www.runoob.com" };
*/
箭头函数
链接
function foo() {let bar = () => {console.log(arguments.length);}bar();
}
foo(5, 5, 5); // 3bar是函数对象,通过函数对象+()调用箭头函数。
js的函数对象就像c++的lambda表达式。
xml
json和xml比较
json---键值对;
xml---标签;
相关文章:
序列化-反序列化--json-xml-protoBuf
序列化和反序列化 数据在网络中传输需要按照一定的规范组成。这些规定的规范有json,xml,protobuf。 序列化 也就是说数据需要通过网络传输时,需要把数据转化为需要的传输格式,所以需要把需要传输的数据生成json或者xml或者protobuf语言格式文件&#…...
ubuntu 配置nacos开机启动
在Ubuntu系统上配置Nacos服务开机启动,可以通过创建systemd服务单元文件来实现。以下是步骤: 创建Systemd服务文件: 打开终端,使用文本编辑器(如nano或vim)新建一个服务文件: sudo nano /etc/sy…...
单节点大数据平台运维脚本
单节点的大数据集群运维脚本 vi /opt/bash/bigdata-operate-script.sh#!/bin/bashsource ~/.bashrc source /etc/profilehostnamebigdata#程序运行必要组件 important_components("kafka" "clickhouse-server" "elasticsearch" "kibana&qu…...
HTML基础知识
目录 1.初识网页 2.html:超文本标记语言 2.1排版标签 标题标签 段落标签 换行标签 水平线标签 2.2文本格式化标签 2.3媒体标签 图片标签 路径 音频标签 视频标签 2.4链接标签 2.5列表标签 2.5.1无序列表 2.5.2有序列表 2.5.3自定义列表 2.6表格…...
牛客禁用题:求阶乘
思路:在新类中使用全局变量进行运算,在主类中定义新类数组,通过构造函数的调用次数返回阶乘 #include <type_traits> class add{public:static int count;static int tmp;add(){countcounttmp;tmp;} }; int add::count0; int add::t…...
spring.factories的常用配置项
概述 spring.factories 实现是依赖 spring-core 包里的 SpringFactoriesLoader 类,这个类实现了检索 META-INF/spring.factories 文件,并获取指定接口的配置的功能。 Spring Factories机制提供了一种解耦容器注入的方式,帮助外部包&am…...
数据库-第二/三章 关系数据库和标准语言SQL【期末复习|考研复习】
前言 总结整理不易,希望大家点赞收藏。 给大家整理了一下计数据库系统概论中的重点概念,以供大家期末复习和考研复习的时候使用。 参考资料是王珊老师和萨师煊老师的数据库系统概论(第五版)。 文章目录 前言第二、三章 关系数据库和标准语言SQL2.1 关系2…...
【办公类-21-05】20240227单个word按“段落数”拆分多个Word(成果汇编 只有段落文字 1拆5)
作品展示 背景需求 前文对一套带有段落文字和表格的word进行13份拆分 【办公类-21-04】20240227单个word按“段落数”拆分多个Word(三级育婴师操作参考题目1拆13份)-CSDN博客文章浏览阅读293次,点赞8次,收藏3次。【办公类-21-04…...
【前端素材】推荐优质后台管理系统网页my-Task平台模板(附源码)
一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的工具,通常由管理员使用。后台管理系统是一种用于管理和控制网站、应用程序或系统的管理界面。它通常被设计用来让网站或应用程序的管理员或运营人员管理内容、用户、数据以及其他相关功…...
Linux高负载排查最佳实践
在Linux系统中,经常会因为负载过高导致各种性能问题。那么如何进行排查,其实是有迹可循,而且模式固定。 本次就来分享一下,CPU占用过高、磁盘IO占用过高的排查方法。 还是那句话,以最佳实践入手,真传一句话…...
【python开发】网络编程(上)
这里写目录标题 一、必备基础(一)网络架构1、交换机2、路由器3、三层交换机4、小型企业基础网络架构5、家庭网络架构6、互联网 (二)网络核心词汇1、子网掩码和IP2、DHCP3、内网和公网IP4、云服务器5、端口6、域名 一、必备基础 &…...
php源码 单色bmp图片取模工具 按任意方式取模 生成字节数组 自由编辑点阵
http://2.wjsou.com/BMP/index.html 想试试chatGPT4生成,还是要手工改 php 写一个网页界面上可以选择一张bmp图片,界面上就显示这张bmp图片, 点生成取模按钮,在图片下方会显示这张bmp图片的取模数据。 取模规则是按界面设置的&a…...
设计模式-命令模式(Command Pattern)
承接Qt/C软件开发项目,高质量交付,灵活沟通,长期维护支持。需求所寻,技术正适,共创完美,欢迎私信联系! 一、命令模式的说明 命令模式(Command Pattern)是一种行为设计模式…...
鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:位置设置)
设置组件的对齐方式、布局方向和显示位置。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 align align(value: Alignment) 设置容器元素绘制区域内的子元素的对齐方式。 卡片能力: 从API…...
ShardingJdbc实战-分库分表
文章目录 基本配置分库分表的分片策略一、inline 行表达时分片策略algorithm-expression行表达式完整案例和配置如下 二、根据实时间日期 - 按照标准规则分库分表标准分片 - Standard完整案例和配置如下 基本配置 逻辑表 逻辑表是指:水平拆分的数据库或者数据表的相…...
51单片机-(定时/计数器)
51单片机-(定时/计数器) 了解CPU时序、特殊功能寄存器和定时/计数器工作原理,以定时器0实现每次间隔一秒亮灯一秒的实验为例理解定时/计数器的编程实现。 1.CPU时序 1.1.四个周期 振荡周期:为单片机提供定时信号的振荡源的周期…...
midjourney提示词语法
更高级的提示可以包括一个或多个图像URL、多个文本短语和一个或更多个参数 Image Prompts 可以将图像URL添加到提示中,以影响最终结果的样式和内容。图像URL总是位于提示的前面。 https://docs.midjourney.com/image-prompts Text Prompt 要生成的图像的文本描述。…...
【鸿蒙 HarmonyOS 4.0】路由router
一、介绍 页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。 二、页面跳转 2.1、两种跳转模式: router.pushUrl()&…...
AT24C1024的模拟IIC驱动
AT24C1024是基于IIC的EEPROM,容量为1024/8128k bytes。它的引脚如下: 其中A1,A2为硬件地址引脚 WP为写保护引脚,一般我们需要读写,需要接低电平GND,接高的话则仅允许读 SDA和SCL则为IIC通信引脚 芯片通信采用IIC&…...
Stable Diffusion生成式扩散模型代码实现原理
Stable Diffusion可以使用PyTorch或TensorFlow等深度学习框架来实现。这些框架提供了一系列的工具和函数,使得开发者可以更方便地构建、训练和部署深度学习模型。因此可以使用PyTorch或TensorFlow来实现Stable Diffusion模型。 安装PyTorch:确保您已经安…...
EtherLab IGH1.6.5新版本发布:7年等待后的全面升级
1. 七年磨一剑:EtherLab IGH1.6.5的诞生背景 2017年10月发布的EtherLab IGH1.5.2版本,曾经是工业自动化领域的一个重要里程碑。这个开源EtherCAT主站解决方案,凭借其稳定性和灵活性,在机器人控制、数控机床、自动化生产线等场景中…...
Vue项目实战:基于Element-UI的El-Select-Tree树形下拉选择器封装指南
1. 为什么需要封装El-Select-Tree组件 在实际开发中,我们经常会遇到需要选择树形结构数据的场景。比如选择部门、分类目录或者地区信息时,传统的下拉选择器无法直观展示层级关系。Element-UI虽然提供了el-select和el-tree两个独立组件,但原生…...
AutoGen Studio实战:用Qwen3-4B模型快速打造智能客服助手
AutoGen Studio实战:用Qwen3-4B模型快速打造智能客服助手 1. AutoGen Studio简介 AutoGen Studio是一个低代码AI代理开发平台,它让开发者能够快速构建、组合和部署AI代理应用。基于AutoGen AgentChat框架构建,提供了可视化界面来管理多代理…...
为什么92.7%的企业AIGC项目在2026Q1前将遭遇语义坍塌?——奇点大会文本生成分论坛深度解码
第一章:语义坍塌:AIGC产业演进中的隐性奇点 2026奇点智能技术大会(https://ml-summit.org) 当生成式模型在训练数据中反复采样、蒸馏、再合成,语言不再是意义的载体,而退化为统计共振的残响——这并非模型失效,而是语…...
[Linux][虚拟串口]x一个特殊的字节踊
简介 langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。 环境配置 安装langchain框架 pip install langchain langchain-community 其中…...
Linux下objdump实战:从二进制文件到可读反汇编的进阶指南
1. 初识objdump:二进制世界的翻译官 第一次接触二进制文件分析时,我盯着hexdump输出的十六进制数字完全摸不着头脑。直到发现了objdump这个神器,它就像一位精通机器语言的翻译官,能把晦涩的二进制代码转换成我们能读懂的汇编指令…...
从MCAS系统缺陷看软件安全:一个传感器故障如何导致波音737MAX两次空难?
从MCAS系统缺陷看航空软件安全设计的致命盲区 当一架现代客机以每小时800公里的速度巡航在万米高空时,它的每一个飞行动作背后都有数百万行代码在实时运算。2018年至2019年发生的两起波音737MAX空难,将航空电子系统中一个名为MCAS的软件模块推上了风口浪…...
怎样永久保存微信聊天记录:WeChatMsg完整数据迁移与智能分析指南
怎样永久保存微信聊天记录:WeChatMsg完整数据迁移与智能分析指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendin…...
实时手机检测-通用效果展示:手机横竖屏姿态识别辅助检测结果标注
实时手机检测-通用效果展示:手机横竖屏姿态识别辅助检测结果标注 1. 引言 你有没有遇到过这样的场景?在整理手机拍摄的照片时,想快速筛选出所有包含手机的图片,或者在一个监控视频里,需要统计某个区域手机出现的频率…...
新能源 / 智能驾驶常见面试题及答案汇总(2026 最新版)
从三电到端到端大模型,一文掌握新能源汽车行业面试通关密码 2026年春节后,中国新能源汽车行业迎来了史上最激烈的人才争夺战。智联招聘最新发布的《2026年新质生产力人才报告》显示,智能驾驶系统工程师岗位需供比已飙升至16:1,成为…...
