作为一个java程序员,会经常用json发送信息的,所有json非常非常重要!
作为一个java程序员,我们是给别人发json的那个人,所以json的使用频率很高很高。
一共有两种经常用的json,一种是谷歌的Gson,另一种是阿里的fastjson
首先我们先从网址上下载这两个JSON的jar包再将它们导入idea中
github.com/google/gson 谷歌的
github.com/alibaba/fastjson 阿里的
我们先封装一个类取名Book;
import java.util.Objects;
public class Book {
private int id;
private String name;
private String info;
public Book() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
@Override
public String toString() {
return "Book{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", info='" + info + '\'' +
'}';
}
public Book(int id, String name, String info) {
this.id = id;
this.name = name;
this.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(id, book.id) &&
Objects.equals(name, book.name) &&
Objects.equals(info, book.info);
}
@Override
public int hashCode() {
return Objects.hash(id, name, info);
}
演示一:谷歌的
接收
public class Demo1 {
public static void main(String[] args) {
//将对象转换为字符串,谷歌的方式:
//1.先去创建Gson对象
Gson g = new Gson();
//2.转换
Book b = new Book(100,"小熊","种植苹果真辛苦!");
String s = g.toJson(b);
System.out.println(s);
//{"id":100,"name":"小熊","info":"种植苹果真辛苦!"}这是结果
}
public class Demo2 {
public static void main(String[] args) {
//将对象转换为字符串,谷歌的方式:
//1.先去创建Gson对象
Gson g = new Gson();
//2.转换: //{"id":100,"name":"小熊","info":"种植苹果真辛苦!"} Book.class是要转换的类型!
Book b = g.fromJson("{\"id\":100,\"name\":\"小熊\",\"info\":\"种植苹果真辛苦!\"}",Book.class);
System.out.println(b.getId());
}
}
public class Demo3 {
public static void main(String[] args) {
//将对象转换为字符串,谷歌的方式:
//1.先去创建Gson对象
Gson g = new Gson();
//2.转换: //{"id":100,"name":"小熊","info":"种植苹果真辛苦!","page":["qwer","rytu","wert"]} //HashMap.class是要转换的类型!
//存了四个键值对,最后一个(page)是arrayList!会将数组部分转成List;
HashMap data = g.fromJson("\"id\":100,\"name\":\"小熊\",\"info\":\"种植苹果真辛苦!\",\"page\":[\"qwer\",\"rytu\",\"wert\"]", HashMap.class);
List page = (List) data.get("page");
System.out.println(page.get(1));
//结果是qwer
}
}
第二种阿里的fastjson
public class Demo4 {
public static void main(String[] args) {
Book book = new Book(1002,"hhhh","hahahaha");
//转换
String json = JSON.toJSONString(book);
System.out.println(json);
}
}
public class Demo5 {
public static void main(String[] args) {
//转对象:{"id":100,"name":"小熊","info":"种植苹果真辛苦!"}
Book book = JSON.parseObject("{\"id\":100,\"name\":\"小熊\",\"info\":\"种植苹果真辛苦!\"}",Book.class);
System.out.println(book.getId());
}
}
public class Demo6 {
public static void main(String[] args) {
//
//转数组!["一二三","四五六","七八九"]
List<String> strings = JSON.parseArray("[\"一二三\",\"四五六\",\"七八九\"]",String.class);
System.out.println(strings.get(1));
}
}
//结果是 四五六










