XML
简介
可扩展标记语言(eXtensible Markup Language)。
特性:
1. xml具有平台无关性, 是一门独立的标记语言.
2. xml具有自我描述性
XML语法格式
1. XML文档声明
2. 标记( 元素/ 标签/ 节点)
标记名称: 自定义名称,必须遵循以下命名规则:
1.名称可以含字母、数字以及其他的字符
2.名称不能以数字或者标点符号开始
3.名称不能以字符“xml”(或者XML、Xml)开始
4.名称不能包含空格,不能包含冒号(:)
5.名称区分大小写
1. 一个XML文档中, 必须有且且仅允许有一个根标记.
正例:
反例:
2. 标记名称允许重复
3. 标记除了开始和结束, 还有属性.
格式:
可以包含0-n个属性, 每一个属性是一个键值对!
属性名不允许重复, 键与值之间使用等号连接, 多个属性之间使用空格分割.
属性值必须被引号引住.
案例:
4. 注释
注释不能写在文档文档声明前
注释不能嵌套注释
格式:
注释开始:
CDATA
CDATA 是不应该由XML 解析器解析的文本数据。
像"<" 和"&" 字符在XML 元素中都是非法的。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由"" 结束:
金苹果
锄禾日当午
JSON:
{
"name":"金苹果",
"info":"种苹果"
}
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
键值对的键应使用引号引住
键值对的值, 可以是JS中的任意类型的数据
数组格式:
在JSON格式中可以与对象互相嵌套
[元素1,元素2...]
{
"name":"伟杰老师",
"age":18,
"pengyou":["张三","李四","王二","麻子",{
"name":"野马老师",
"info":"像匹野马一样狂奔在技术钻研的道路上"
}],
"heihei":{
"name":"大长刀",
"length":"40m"
}
}
Gson
将对象转换为JSON字符串
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
案例:
Book b = BookDao.find();
String json = new Gson().toJson(b);
System.out.println(json);
将JSON字符串转换为对象
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
对象= new Gson().fromJson(JSON字符串,对象类型.class);
案例:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰
\",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}";
Book book = new Gson().fromJson(json, Book.class);
System.out.println(book);
FastJson
将对象转换为JSON字符串
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
案例:
Book b = BookDao.find();
String json=JSON.toJSONString(b);
System.out.println(json);
将JSON字符串转换为对象
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
类型对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
案例:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰
\",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}";
Book book = JSON.parseObject(json, Book.class);
System.out.println(book);
Gson g = new Gson();
//2.转换
Book b = new Book( id: "100",name: "金苹果",info: "种植苹果真辛苦");
String s = g.toJson(b);
System.out.println(s);
{"id" : "100", "name" :"金苹果", "info":"种植苹果真辛苦""}
//1.创建Gson对象Gson g = new Gson();
//2.转换:{ "id" : "100","name " : "金苹果", "info" : "种植苹果真辛苦"}
HashHap data = g.fromJson( json:"{\"id\" :\"100\",\ "name\":\"金苹果\",\"info\":\"种樟苹果真辛苦\"}",HashMap.class);
System.out.println(data.get("id"));
}
//1.创建Gson对象
Gson g = new Gson();
//2.一转换:{"id" : "10" ,"name" :"金苹果"," info" :"种植苹果真辛苦", "page":["锄禾日当午""汗滴禾下土","嘿嘿嘿嘿嘿"]J}
HashMap data = g.fromJson("{\"id\" :\"100\",\"name\":\"金苹果\",\"info\":\"种樟苹果真辛苦\", \"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}",HashMap.class);
List page = (List) data.get("page");
System.out.println(page.get(1));
//1.转换:["一二三","二三四","三四五"]
List
System.out.println(strings.get(1));