Gson
创建演示所用类
class Person{
private String name;
private int age;
public Person() {}
//java www.fhadmin.cn
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
如何将一个对象转换为Json字符串
public static void main(String[] args) {
/*
1. 创建一个对象
2. 将对象转换位JSON字符串格式
使用 Gson对象的toJson(object) 方法
object 类实例化后的对象名
运行结果如下 (fhadmin.cn)
{"name":"张三","age":18}
*/
Person person = new Person("张三",18);
String json = new Gson().toJson(person);
System.out.println(json);
}
如何将Json字符串转换为对象?
public static void main(String[] args) {
/*
1. 创建一串json字符串
2. 将json字符串转换为对象 需要两个参数
参数1: 传入要转换的字符串
参数2: 转换的类名.class
代码运行结果:
Person{name='张三', age=18}
*/
String jsonStr = "{\"name\":\"张三\",\"age\":18}";
Person person = new Gson().fromJson(jsonStr,Person.class);
System.out.println(person);
}
FastJson
使用的演示类如上
如何将一个对象转换为Json字符串
public static void main(String[] args) {
/*
1. 生成一个对象
2. 使用 JSON.toJSONString(Object) 将其转换为json字符串
Object : 是要转换的对象
结果如下
{"age":15,"name":"张三"}
*/
Person person = new Person("张三",15);
String json = JSON.toJSONString(person);
System.out.println(json);
}
如何将Json字符串转换为对象?
//www.fhadmin.cn
public static void main(String[] args) {
/*
1. 创建要转换的json字符串
2. 使用 JSON.parseObject(str,Object.class)将json字符串转化为对象
str: 要转换的json字符串
Object: 要转换的类.class
结果如下:
Person{name='张三', age=15}
*/
String jsonStr = "{\"age\":15,\"name\":\"张三\"}";
Person person = JSON.parseObject(jsonStr,Person.class);
System.out.println(person);
}