序列化协议:JSON和XML

作者:CARROT

链接:https://www.zhihu.com/question/604811576/answer/3100483698

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

json和xml都是数据传输的格式。比如我们开发过程中需要和网页交换数据,我们既可以使用json格式也可以使用xml格式。再比如,我们需要HTTP调用第三方接口,同样也是可以使用json格式和xml格式。

json相比于xml最大的优势就是轻量 以及易于扩展

举个例子,如果我们需要在网络中传输一个student的实体类。

xml写法:

复制代码
<student>
  <name>Liming</name>
  <age>18</age>
  <gender>Male</gender>
</student>

json写法:

复制代码
{
  "name": "Liming",
  "age": 18,
  "gender": "Male"
}

对比两种写法,我们可以发现,xml写法的需要使用到两个标签 <name>和</name>,而json只需要使用到"name",从传输的有用信息的密度来看,json是高于xml的,密度提高了,效率相对就提高了,上面的只涉及到三个属性,如果这个实体有几十个属性,然后传输的又是这个实体的集合,那么就会对网络造成比较大的压力。

另外,如果需要在JSON中添加额外的字段,比如学生的课程成绩,可以直接在对象中添加新的键值对。而在XML中,需要添加新的元素标签来表示新的数据字段。

总的来说,JSON在表示简单数据结构时更为简洁和紧凑。

相关推荐
远方160920 分钟前
16-Oracle 23 ai-JSON-Relational Duality-知识准备
数据库·oracle·json
sc写算法3 小时前
基于nlohmann/json 实现 从C++对象转换成JSON数据格式
开发语言·c++·json
酷爱码12 小时前
Spring Boot项目中JSON解析库的深度解析与应用实践
spring boot·后端·json
不惑_17 小时前
用 PyQt5 打造一个可视化 JSON 数据解析工具
开发语言·qt·json
漫游者Nova19 小时前
PDF转Markdown/JSON软件MinerU最新1.3.12版整合包下载
pdf·json·markdown·mineru
snow@li1 天前
vue3+ts+vite:详细、完整的 tsconfig.json 示例 / 常见配置项及其用途
json·tsconfig.json
南郁2 天前
007-nlohmann/json 项目应用-C++开源库108杰
c++·开源·json·nlohmann·现代c++·d2school·108杰
紫乾20142 天前
idea json生成实体类
java·json·intellij-idea
武子康2 天前
Java-39 深入浅出 Spring - AOP切面增强 核心概念 通知类型 XML+注解方式 附代码
xml·java·大数据·开发语言·后端·spring
愿你天黑有灯下雨有伞3 天前
MyBatis-Plus LambdaQuery 高级用法:JSON 路径查询与条件拼接的全场景解析
mysql·json·mybatis