JSON 与 XML 区别|学习笔记

简介: 快速学习 JSON 与 XML 区别

开发者学堂课程【Java 面试疑难点串讲 4:Java Web 开发 JSON 与 XML 区别】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/27/detail/580


JSON 与 XML 区别


内容介绍:


1. JSON 与 XML 的比较

2. XML 与 JSON 的使用领域

 

JSON 与 XML 的比较

按照时间的发展进度,在很长一段时间之内使用的都是 xml,而最近的开发都会使用json,总结原因如下:

 

1.JSON 数据量要远远小 xml 数据量

例如,描述一个人的信息,这个人的信息包括姓名、年龄、性别、兴趣(多个),那么分别使用两种文件结构描述:

XML: <人员信息><联系人>《姓名>张三</姓名><年龄>20</年龄>><兴趣</兴趣><兴趣>跳舞</兴趣><兴趣>游泳</兴趣></兴趣S><联系人></人员信息>

JSON :("姓名":"张三","年龄":20,"性别":"男",兴趣:["唱歌","跳舞","游泳"]}

可以发现 JSON 的体积更小,而 XML 的败笔出现在它的要求:这种要求体现在所有的 XML 文件必须有根节点,所有的节点必须完结。


2.生成模式上:

所有的信息都可以通过字符串的拼凑模式完成,但是这种做法难度太高,往往会使用一些处理类:

XML 文件生成(DOM、DOM4J、JDOM):操作过程极其复杂。

JSON 生成:JSONObject、 JSONArray,互相设置个关系就能够解决。

 

3.接收数据处理上:

JSON 的处理更加直白,直接使用 key 的名称访问即可,用一个 eval() 函数就可以处理。

XML:复杂的DOM解析

 

XML 与 JSON 的使用领域:

在现在的开发之中,如果是新项目已经不建议继续使用 xml 进行数据的交互处理,可以处理的模式都建议使用 Json,因为它体积小,处理简单。

XML 并不是没有用处,实际上使用 XML 做为一些软件的配置文件出现会比较合适。

相关文章
|
9天前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
26 1
|
2月前
|
XML JSON 前端开发
【Web前端揭秘】XML与JSON:数据界的双雄对决,你的选择将如何改写Web世界的未来?
【8月更文挑战第26天】本文深入探讨了XML和JSON这两种广泛使用的数据交换格式在Web前端开发中的应用。XML采用自定义标签描述数据结构,适用于复杂层次数据的表示,而JSON则以键值对形式呈现数据,更为轻量且易解析。通过对两种格式的示例代码、结构特点及应用场景的分析,本文旨在帮助读者更好地理解它们的差异,并根据实际需求选择最合适的数据交换格式。
49 1
|
9天前
|
XML JSON 数据处理
C# 中的 XML 与 JSON 数据处理
在现代软件开发中,数据交换和存储需求日益增长,XML 和 JSON 成为最常用的数据格式。本文从 C# 角度出发,详细介绍如何处理这两种格式,并提供示例代码。对于 XML,我们介绍了读取、创建和写入 XML 文件的方法;对于 JSON,则展示了如何使用 Newtonsoft.Json 库进行数据解析和序列化。此外,文章还总结了常见问题及其解决方案,帮助开发者更好地应对实际项目中的挑战。
156 61
C# 中的 XML 与 JSON 数据处理
|
2月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
36 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
2月前
|
Java Spring 容器
彻底改变你的编程人生!揭秘 Spring 框架依赖注入的神奇魔力,让你的代码瞬间焕然一新!
【8月更文挑战第31天】本文介绍 Spring 框架中的依赖注入(DI),一种降低代码耦合度的设计模式。通过 Spring 的 DI 容器,开发者可专注业务逻辑而非依赖管理。文中详细解释了 DI 的基本概念及其实现方式,如构造器注入、字段注入与 setter 方法注入,并提供示例说明如何在实际项目中应用这些技术。通过 Spring 的 @Configuration 和 @Bean 注解,可轻松定义与管理应用中的组件及其依赖关系,实现更简洁、易维护的代码结构。
35 0
|
3月前
|
存储 JSON 数据格式
Python教程:json中load和loads的区别
【7月更文挑战第17天】在Python的`json`模块中, `load`与`loads`函数均用于JSON至Python对象的转换, 区别在于: - **`loads`**处理JSON格式的**字符串** 其中`data.json`文件内容为`{&quot;name&quot;: &quot;Bob&quot;, &quot;age&quot;: 30}`。 简而言之, `loads`用于字符串, 而`load`用于文件对象。根据数据来源选择合适的方法。
|
2月前
|
XML 数据格式
DTD和XML Schema之间的区别?
【8月更文挑战第22天】
37 0
|
4月前
|
XML 存储 前端开发
【前端】XML和HTML的区别详解
【前端】XML和HTML的区别详解
80 5
|
3月前
|
XML JSON 缓存
优化Java中XML和JSON序列化
优化Java中XML和JSON序列化
|
4月前
|
XML JSON 开发框架
一篇文章讲明白JSON格式转换成XML格式
一篇文章讲明白JSON格式转换成XML格式
22 0