Gson(又稱Google Gson)是Google公司發(fā)布的一個(gè)開(kāi)放源代碼的Java庫(kù),主要用途為序列化Java對(duì)象為JSON字符串,或反序列化JSON字符串成Java對(duì)象。
我們通過(guò)幾個(gè)demon 來(lái)看它是怎么 將Java對(duì)象和JSON字符串互相轉(zhuǎn)換的。
類實(shí)體
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
private Integer age;
private String name;
}
通過(guò) gson 序列化Java對(duì)象為JSON字符串
Student student = new Student(12,"lucy");
System.out.println(new Gson().toJson(student));
結(jié)果
{"age":12,"name":"lucy"}
反序列化JSON字符串成Java對(duì)象
Student student1 = new Gson().fromJson(new Gson().toJson(student),Student.class);
System.out.println(student1);
結(jié)果
Student(age=12, name=lucy)
Using GSON to parse a JSON array
[
{
"age":12,
"name":"lucy"
},
{
"age":13,
"name":"cate"
},
{
"age":15,
"name":"frank"
}
]
將 json 字符串?dāng)?shù)組 轉(zhuǎn)換為 實(shí)體數(shù)組
Student[] data = new Gson().fromJson("[{\"age\":12,\"name\":\"lucy\"},{\"age\":13,\"name\":\"cate\"},{\"age\":15,\"name\":\"frank\"}]", Student[].class);
List<Student> students2 = Lists.newArrayList(data);
System.out.println(students2);
[Student(age=12, name=lucy), Student(age=13, name=cate), Student(age=15, name=frank)]
參考
https://stackoverflow.com/questions/18421674/using-gson-to-parse-a-json-array