目前有网络数据传输有xml和json两种方式,目前大部分使用json进行网络数据传输。
XML
1 . 简要概述
可扩展标记语言(eXtensible Markup Language)。
特性:
1. xml具有平台无关性, 是一门独立的标记语言.
2. xml具有自我描述性
2 . xml作用
1. 网络数据传输
2. 数据存储
3. 配置文件
3 . 什么是xml文件
XML文件是保存XML数据的一种方式
XML数据也可以以其他的方式存在(如在内存中构建XML数据)。
不要将XML语言狭隘的理解成XML文件。
4 . DOM4J解析XML
步骤:
1. 引入jar文件 dom4j.jar
2. 创建一个指向XML文件的输入流
FileInputStream fis = new FileInputStream("xml文件的地址");
3. 创建一个XML读取工具对象
SAXReader sr = new SAXReader();
4. 使用读取工具对象, 读取XML文档的输入流 , 并得到文档对象
Document doc = sr.read(fis);
5. 通过文档对象, 获取XML文档中的根元素对象
Element root = doc.getRootElement();
指的是加载到内存的 整个XML文档.
常用方法:
1. 通过文档对象, 获取XML文档中的根元素对象
Element root = doc.getRootElement();
2. 添加根节点
Element root = doc.addElement("根节点名称");
指的是XML文档中的单个节点.
常用方法:
1. 获取节点名称
String getName();
2. 获取节点内容
String getText();
3. 设置节点内容
String setText();
4. 根据子节点的名称 , 获取匹配名称的第一个子节点对象.
Element element(String 子节点名称);
5. 获取所有的子节点对象
List<Element> elements();
6. 获取节点的属性值
String attributeValue(String 属性名称);
7. 获取子节点的内容
String elementText(String 子节点名称);
8. 添加子节点
Element addElement(String 子节点名称);
JSON
1 . 简介:
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
2 . JSON格式:
一个对象, 由一个大括号表示.
括号中 描述对象的属性 . 通过键值对来描述对象的属性
(可以理解为, 大括号中, 包含的是一个个的键值对.)
格式:
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JavaScript能正确解
析.)
键值对的值, 可以是JavaScript中的任意类型的数据
3 . 数组格式:
在JSON格式中可以与对象互相嵌套
[元素1,元素2…]
3 . Java与JSON:
将Java中的对象 快速的转换为 JSON格式的字符串.
将JSON格式的字符串, 转换为Java的对象.
Gson
将对象转换为JSON字符串
将JSON字符串转换为对象
FastJson
将对象转换为JSON字符串
将JSON字符串转换为对象
做什么?
将Java中的对象 快速的转换为 JSON格式的字符串.
将JSON格式的字符串, 转换为Java的对象.
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
案例:
Book b = BookDao.find();
String json = new Gson().toJson(b);
System.out.println(json);
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
案例:
Book b = BookDao.find();
String json=JSON.toJSONString(b);
System.out.println(json);
####
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);