一、Java与JSON
联系
- 将Java中的对象 快速的转换为 JSON格式的字符串。
- 将JSON格式的字符串, 转换为Java的对象。
二、Gson
要使用Gson首先要引入JAR包。
1、 将对象转换为JSON字符串
在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
案例:
//1、创建Gson对象
Gson g = new Gson();
//2、转换
Student stu = new Student("喜羊羊",8);
String s = g.toJson(stu);
System.out.println(s);
将JSON字符串转换为对象
在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
案例1:转换为自定义对象
//1、创建Gson对象
Gson g = new Gson();
//2、转换
Student stu = g.fromJson("{\"name\":\"喜羊羊\",\"age\":8}",Student.class);
System.out.println(stu.getName());
案例2:转换为HashMap对象
//1、创建Gson对象
Gson g = new Gson();
//2、转换
HashMap data = g.fromJson("{\"name\":\"喜羊羊\",\"age\":8}",HashMap.class);
System.out.println(data.get("name"));
案例3:转换的字符串中包含数组,返回的是List类型的集合
Gson g = new Gson();
HashMap data = g.fromJson("{\"name\":\"张三\",\"age\":\"20\",\"info\":\"三好学生\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}",HashMap.class);
List page = (List) data.get("page");
System.out.println(page.get(0));
三、FastJson
使用FastJson也要引入JAR包
1、将对象转换为JSON字符串
在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
案例:
Student stu = new Student("张三",100);
//使用fastJson转换
String json = JSON.toJSONString(stu);
System.out.println(json);
2、将JSON字符串转换为对象
在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
案例:
Student stu = JSON.parseObject("{\"age\":100,\"name\":\"张三\"}",Student.class);
System.out.println(stu.getName());
List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
System.out.println(strings.get(0));