JSON解析新手版
Gson 解析
1.将对象转换为JSON字符串 :
(一)引入JAR包
(二)在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
package com.zzy.demo1;
import com.google.gson.Gson;
/**
* @Author: 泽毅
* @Description:
* @Date Created in: 2021-06-14 13:59
* @Modified By:
*/
public class Demo1 {
public static void main(String[] args) {
//1.创建Gson对象
Gson gs = new Gson();
//2.转换
Book b = new Book(1001, "梦回环","八月缘太浅");
String s = gs.toJson(b);
System.out.println(s);
}
}
2.将JSON字符串转换为对象:
(一)引入JAR包
(二)在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
package com.zzy.demo1;
import com.google.gson.Gson;
/**
* @Author: 泽毅
* @Description:
* @Date Created in: 2021-06-14 13:59
* @Modified By:
*/
public class Demo2 {
public static void main(String[] args) {
//1.创建Gson对象
Gson gs = new Gson();
//2.转换: {"id":1001,"name":"梦回环","info":"八月缘太浅"}
Book b = gs.fromJson("{\"id\":1001,\"name\":\"梦回环\",\"info\":\"八月缘太浅\"}", Book.class);
System.out.println(b.getInfo());
}
}
package com.zzy.demo1;
import com.google.gson.Gson;
import java.util.HashMap;
import java.util.List;
/**
* @Author: 泽毅
* @Description:
* @Date Created in: 2021-06-14 13:59
* @Modified By:
*/
public class Demo3 {
public static void main(String[] args) {
//1.创建Gson对象
Gson gs = new Gson();
//2.转换: {"id":1001,"name":"梦回环","info":"八月缘太浅","page":["锄禾日当午","汗滴禾下土","嘿嘿哈哈哈"]}键值对
HashMap map = gs.fromJson("{\"id\":1001,\"name\":\"梦回环\",\"info\":\"八月缘太浅\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿哈哈哈\"]}", HashMap.class);
List page = (List) map.get("page");
System.out.println(page.get(1));
}
}
FastJson 解析
FastJson 解析
将对象转换为JSON字符串 :
(一)引入JAR包
(二)在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
package com.zzy.demo1;
import com.alibaba.fastjson.JSON;
/**
* @Author: 泽毅
* @Description:
* @Date Created in: 2021-06-14 14:52
* @Modified By:
*/
public class Demo4 {
public static void main(String[] args) {
//JSON转换
Book b = new Book(101,"斗破苍穹","三十年河东,三十年河西,莫欺少年穷。");
String s = JSON.toJSONString(b);
System.out.println(s);
}
}
将JSON字符串转换为对象 :
(一)引入JAR包
(二)在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或 List<类型> list=JSON.parseArray(JSON字符串,类型.class);
package com.zzy.demo1;
import com.alibaba.fastjson.JSON;
/**
* @Author: 泽毅
* @Description:
* @Date Created in: 2021-06-14 14:52
* @Modified By:
*/
public class Demo5 {
public static void main(String[] args) {
//JSON 转换 :{"id":101,"info":"三十年河东,三十年河西,莫欺少年穷。","name":"斗破苍穹"}
Book book = JSON.parseObject("{\"id\":101,\"info\":\"三十年河东,三十年河西,莫欺少年穷。\",\"name\":\"斗破苍穹\"}", Book.class);
System.out.println(book.getInfo());
}
}
package com.zzy.demo1;
import com.alibaba.fastjson.JSON;
import java.util.List;
/**
* @Author: 泽毅
* @Description:
* @Date Created in: 2021-06-14 14:52
* @Modified By:
*/
public class Demo6 {
public static void main(String[] args) {
//JSON 转换为数组 : ["一二三四五","五四三二一","溜溜呜呜呜"]
List<String> li = JSON.parseArray("[\"一二三四五\",\"五四三二一\",\"溜溜呜呜呜\"]", String.class);
System.out.println(li.get(1));
}
}