JSON解析的方式
目前常用的解析json格式的数据有两种方式,分别为Google的Gson和Alibaba的Fastjson。下面用IDEA对这两种方式的使用作简单的教程。
分别导入gson-2.8.6.jar和fastjson-1.2.70.jar两个jar包。
并将其添加到modules中
这样就能正常使用jar文件了。
一、Gson
先创建一个Book类,用与将json字符串转化为这个对象
public class Book {
private String name;
private String info;
public Book(String name, String info) {
this.name = name;
this.info = info;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
}
在编写一个Gson测试类,去使用Gson
public class GsonTest {
public static void main(String[] args) {
Book book1 = new Book("活着", "著名小说");
//1.Java对象转化为Json字符串
//创建Gson操作对象
Gson gson = new Gson();
//将book对象转化为json字符串
String json = gson.toJson(book1);
System.out.println(json);
//2.Json字符串转化为Java对象
String s = "{\"name\":\"盗墓笔记\",\"info\":\"盗墓题材小说\"}";
Book book2 = gson.fromJson(s, Book.class);
System.out.println(book1.getName());
}
}
运行结果
二、Fastjson
依然使用Book类作测试
public class FastJsonTest {
public static void main(String[] args) {
//1.Java对象转化为Json字符串
Book book1 = new Book("活着", "著名小说");
String s = JSON.toJSONString(book1);
System.out.println(s);
//2.Json字符串转化为Java对象
Book book = JSON.parseObject(s, Book.class);
System.out.println(book.getName());
//3.将json字符串数组转化为String数组
String json = "[\"嘿嘿嘿嘿嘿嘿\",\"哈哈哈哈哈哈\",\"红红火火恍恍惚惚\"]";
//特别强调:这里的数组是ArrayList,而不是普通的数组
List<String> list = JSON.parseArray(json,String.class);
System.out.println(list.get(2));
}
}
运行结果