XML与JSON
简介
可扩展标记语言(eXtensible Markup Language)。
特性
- xml具有平台无关性, 是一门独立的标记语言.(在window和mac不同系统下内容都相同)
- xml具有自我描述性
为什么学习XML?
- 网络数据传输 (被JSON取代,但是在阅读方面JSON格式没有XML清晰(特别是小数据))
- 数据存储 (不常使用)
- 配置文件 (经常使用)
XML文件
.XML文件是保存XML数据的一种方式
XML数据也可以以其他的方式存在(如在内存中构建XML数据)。 不要将XML语言狭隘的理解成XML文件。
XML语法格式(重点)
语法进阶CDATA (了解)
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束。
Java解析XML 掌握(了解)
面试题
Java中有几种XML解析方式 ? 分别是什么 ? 有什么样的优缺点 ?
答:四种;SAX解析、DOM解析、JDOM解析、DOM4J解析
JDOM解析是基于DOMJ的Java相关的解析
DOM4J解析是DOM解析的智能分支
DOM4J解析XML 掌握(重点)
步骤
文档对象 Document
元素对象 Element
解析本地文件案例:
解析网络文件案例:
DOM4J - XPATH解析XML
使用步骤
案例:![在这里插入图片描述](https://img-blog.csdnimg.cn/20201020093843259.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzA3MjIzOQ==,size_16,color_FFFFFF,t_70#pic_center)
Java生成XML 熟悉
步骤:
案例
XStream 的使用 了解
快速的将Java中的对象, 转换为 XML字符串.
使用步骤:
案例
JSON
简介
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式
对象格式
数组格式
在JSON格式中可以与对象互相嵌套 [元素1,元素2…]
Java与JSON
- 将 Java对象 快速转换为 JSON格式的字符串
- 将 JSON格式的字符串 快速转换为 Java对象
Gson
- 将对象转化为JSON字符串
Book b = new Book("100","金苹果","种植苹果");
// 将对象转化成为Json字符串
String text = new Gson().toJson(b);
System.out.println(text); // {"id":"100","name":"金苹果","info":"种植苹果"}
- 将JSON字符串转化为对象
String text = "{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果\"}";
Book b = new Gson().fromJson(text, Book.class);
System.out.println(b.getId());
如果Gson的字符串中存在数组,那么Gson会将数组转化为ArrayList
FastJson
- 将 对象 转化为 JSON字符串
Book b = new Book("100","金苹果","苹果种植的艰辛历程");
String s = JSON.toJSONString(b);
System.out.println(s); // {"id":"100","info":"苹果种植的艰辛历程","name":"金苹果"}
- 将 JSON字符串 转化为 对象(集合)
String text = "{\"id\":\"100\",\"info\":\"苹果种植的艰辛历程\",\"name\":\"金苹果\"}";
Book b = JSON.parseObject(text, Book.class);
System.out.println(b.getId());
List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
System.out.println(strings.get(1));