XML、JSON

XML

可扩展标记语言(extensible Markup Language),平台无关,可自我描述

<?xml version="1.0" encoding="UTF-8"?> 
<People>
	<Student>...</Student>
	<Teacher>
		<...></...>
	</Teacher>
</People>

某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代 码定义为 CDATA。 CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束

<![CDATA[...................]]>
XML解析的4中方式:
1.SAX解析

事件驱动,逐行解析,解析完当前行直接释放,最后对文档只读不能修改。

  • 优点:
    分析能够立即开始,而不是等待所有的数据被处理 逐行加载,节省内存.有助于解析大于系统内存的文档 有时不必解析整个文档,它可以在某个条件得到满足时停止解析.
  • 缺点:
  1. 单向解析,无法定位文档层次,无法同时访问同一文档的不同部分数据(因为逐 行解析, 当解析第n行是, 第n-1行已经被释放了, 无法在进行操作了).
  2. 无法得知事件发生时元素的层次, 只能自己维护节点的父/子关系.
  3. 只读解析方式, 无法修改XML文档的内容.
2.DOM解析

直接加载全部文档,可以修改删除。

  • 优点:
    文档在内存中加载, 允许对数据和结构做出更改. 访问是双向的,可以在任何时候在树中双向解析数据。
  • 缺点:
    文档全部加载在内存中 , 消耗资源大.
3.JDOM

目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。由于是第一 个Java特定模型,JDOM一直得到大力推广和促进。 JDOM文档声明其目的是“使用20%(或更少)的精力解决80%(或更多)Java/XML问题” (根据学习曲线假定为20%)

  • 优点:
    使用具体类而不是接口,简化了DOM的API。 大量使用了Java集合类,方便了Java开发人员。
  • 缺点:
    没有较好的灵活性。 性能不是那么优异。
4.DOM4J解析

基本现在用的都是这个
它是JDOM的一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成的XPath 支持、XML Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项, DOM4J是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一 个开放源代码的软件。越来越多的Java软件都在使用DOM4J来读写XML。

JSON

一个大括号就是一个对象
键与值之间使用冒号连接,多个键值对之间使用逗号分割。
键应该使用引号(本身可以省略,但是Java解析中不用引号容易产生一些问题),值可以是任意数据类型。
eg:

{
	"name":"张三",
	"age":25,
	"job":"程序员",
	"colleague":["李四","王五","马超",{
					"name":"张飞",
					"age":28,
					“character”:"铁憨憨"
						},"赵云"],
	"skill":"贼能熬夜"
}
FastJson
String json = JSON.toJSONString(对象);//对象转JSON
People people = JSON.parseObject(json,People.class);//JSON转对象
Gson
String json = new Gson().toJSON(对象);
People people = new Gson().fromJson(json,People.class);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值