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

相关推荐
chilavert31811 分钟前
技术演进中的开发沉思-304计算机原理:XML
xml·计算机原理
C_心欲无痕9 小时前
ts - tsconfig.json配置讲解
linux·前端·ubuntu·typescript·json
REDcker20 小时前
AIGCJson 库解析行为与异常处理指南
c++·json·aigc·c
全栈前端老曹21 小时前
【包管理】read-pkg-up 快速上手教程 - 读取最近的 package.json 文件
前端·javascript·npm·node.js·json·nrm·package.json
半熟的皮皮虾1 天前
又重新写了个PDF工具箱-转换office格式/合并/拆分/删除常见操作都有了
python·程序人生·pdf·flask·开源·json·学习方法
我的golang之路果然有问题1 天前
python中 unicorn 热重启问题和 debug 的 json
java·服务器·前端·python·json
程序猿零零漆1 天前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十一)基于XML方式、注解的声明式事务控制、Spring整合Web环境
xml·学习·spring
kupeThinkPoem2 天前
QJsonObject能否嵌套查找?
qt·json
BD_Marathon2 天前
SpringMVC——json数据传递参数
json
程序员欣宸2 天前
LangChain4j实战之十二:结构化输出之三,json模式
java·人工智能·ai·json·langchain4j