序列化协议: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在表示简单数据结构时更为简洁和紧凑。

相关推荐
NiceCloud喜云11 小时前
Claude Code 跑 HyperFrames 实测:本地生成 AI 视频素材全流程
java·运维·人工智能·自动化·json·音视频·飞书
逍遥德12 小时前
PostgreSQL --- JSON 函数详解
数据库·sql·postgresql·json
輕華14 小时前
Flask_GET请求与JSON响应实战详解
python·flask·json
Meteors.1 天前
安卓源码阅读——01.grade设置binding为true时,xml如何进行映射
android·xml
NiceCloud喜云1 天前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
海兰1 天前
Kibana Dashboard as Code:Elastic 9.4 如何用 Terraform 和类型化 API 终结“JSON 垃圾袋“
云原生·json·terraform
程序员buddha1 天前
传统 Spring 框架,XML 配置 Bean 的方式
xml·java·spring
前网易架构师-高司机1 天前
带标注的交警识别数据集,可识别交警和非交警,5587张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·交警
●VON1 天前
鸿蒙Flutter实战:放弃sqflite选纯Dart JSON文件存储
flutter·华为·json·harmonyos·鸿蒙
MageGojo2 天前
给起名工具接入八字起名 API:参数设计、JSON 示例和应用场景
json·apache