XML和Json

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个属性, 每一个属性是一个键值对!

属性名不允许重复, 键与值之间使用等号连接, 多个属性之间使用空格分割.

属性值必须被引号引住.

案例:

李四

18

李四

20

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 strings = JSON.parseArray( text:"[ \"一二三",\"二三四\",\"三四五\"]",String.class);

System.out.println(strings.get(1));

你可能感兴趣的:(XML和Json)