JSON的解析教程
JSON的解析教程
解析JSON有两个常见的方法:GSON(谷歌)、和FastJSON(阿里)
1.GSON
1.导入jar包
下载地址:https://github.com/google/gson
导入jar包教程:https://blog.csdn.net/weixin_43907332/article/details/94833929
2.对象转JSON
Book对象:
public class Book {
private String name;
private String info;
public Book(String name, String info) {
this.name = name;
this.info = info;
}
public Book() {
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", info='" + info + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Book book = (Book) o;
return Objects.equals(name, book.name) &&
Objects.equals(info, book.info);
}
@Override
public int hashCode() {
return Objects.hash(name, 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;
}
}
public class Demo2 {
public static void main(String[] args) {
//1.创建Gson对象
Gson g = new Gson();
//2.转换
Book b = new Book("金苹果","苹果种植的过程!");
String s = g.toJson(b);
System.out.println(s);
}
}
运行结果:

3.JSON转对象
public static void main(String[] args) {
//1.创建Gson对象
Gson g = new Gson();
//2.转换
Book book = g.fromJson("{\"name\":\"金苹果\",\"info\":\"苹果种植的过程!\"}", Book.class);
System.out.println(book.getName());
}
运行结果:

4.JSON转集合
public static void main(String[] args) {
//1.创建对象
Gson g = new Gson();
//2.转换
HashMap hashMap = g.fromJson("{\"name\":\"金苹果\",\"info\":\"苹果种植的过程!\"}", HashMap.class);
System.out.println(hashMap.get("info"));
}
运行截图:

注:转的过程中,JSON字符串包含数组的部分会被转成ArraryList。
2.FastJSON
1.下载jar包
下载地址:https://github.com/alibaba/fastjson
导入jar包教程:https://blog.csdn.net/weixin_43907332/article/details/94833929
2.对象转JSON
public static void main(String[] args) {
Book b = new Book("金苹果","苹果种植的过程!");
//1.转换
String s = JSON.toJSONString(b);
System.out.println(s);
}
运行截图:

3.JSON转对象
public static void main(String[] args) {
//1.转换
Book book = JSON.parseObject("{\"info\":\"苹果种植的过程!\",\"name\":\"金苹果\"}", Book.class);
System.out.println(book.getInfo());
}
运行截图:

4.JSON转集合
public static void main(String[] args) {
//1.转换 ["一二三","四五六","七八九"]
List<String> strings = JSON.parseArray("[\"一二三\",\"四五六\",\"七八九\"]", String.class);
System.out.println(strings.get(1));
}
运行截图:


浙公网安备 33010602011771号