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

相关推荐
初见_Dream9 小时前
Retrofit+OkHttp+ViewModel
xml·okhttp·retrofit
wolf犭良10 小时前
14、《SpringBoot+MyBatis集成(2)——进阶配置XML与注解的灵活运用》
xml·spring boot·mybatis
Lojarro19 小时前
JavaEE基础之- xml
xml·数据库·java-ee
林的快手1 天前
伪类选择器
android·前端·css·chrome·ajax·html·json
m0_748233881 天前
使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
xml·spring·logback
zhencon-com2 天前
如何使用qt开发一个xml发票浏览器,实现按发票样式显示
xml·c++·经验分享·python·qt·学习·金融
火烧屁屁啦2 天前
【JavaEE进阶】MyBatis通过XML实现增删改查
xml·java-ee·mybatis
css趣多多2 天前
初步安装和使用vant组件库,使用css变量定制vant主题样式 ,小程序的API Promise化,调用promise化之API
json
Web极客码2 天前
WordPress“更新失败,响应不是有效的JSON响应”问题的修复
json·github·wordpress
gywl4 天前
Spring Web MVC入门
spring·json·mvc·注解·cookie·session