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;
}
}

java json格式化的兩種方式
如何将一個對象轉換為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
使用的示範類如上
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);
}


//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);
}

