1. 程式人生 > >簡單的Gson轉換json資料

簡單的Gson轉換json資料

Json與Java資料轉換

推薦使用:Gson。
使用理由:系統自帶的Json包需要自己通過屬性名一層一層地解析,十分繁瑣。而 Gson可以直接將Json格式的字串或文字轉為所對應的類,我們所需要做的 只是將Json裡面各欄位的欄位名與我們自定義類的屬性名一致即可。
注意:一定要在所轉換的類中加上getter,setter函式。

物件轉Json:

Gson gson=new Gson();
Student stu=new Student("張三","男","籃球");
String str=gson.toJson(stu);
System.out.println(str);
//輸出結果:{"name":"張三","sex":"男","like":"籃球"}

列表轉Json:

Gson gson=new Gson();
List list=new ArrayList();
Student stu=new Student("張三","男","籃球");
Student stu1=new Student("李四","男","足球");
Student stu2=new Student("王五","男","排球");
Student stu3=new Student("小靜","女","羽毛球");
list.add(stu);
list.add(stu1);
list.add
(stu2); list.add(stu3); String str=gson.toJson(list); System.out.println(str); //輸出結果:[{"name":"張三","sex":"男","like":"籃球"}, {"name":"李四","sex":"男","like":"足球"}, {"name":"王五","sex":"男","like":"排球"}, {"name":"小靜","sex":"女","like":"羽毛球"}] Json轉物件: str;//str={"name":"張三","sex":"男","like":"籃球"} Student student=(Student) gson.fromJson
(str, Student.class); System.out.println("name:"+student.getName()); System.out.println("sex:"+student.getSex()); System.out.println("like:"+student.getLike()); //輸出結果: name:張三 // sex:男 // like:籃球

Json轉列表:

Type listType = new TypeToken<List<Student>>() {}.getType();
str;/*str=[{"name":"張三","sex":"男","like":"籃球"},
{"name":"李四","sex":"男","like":"足球"},
{"name":"王五","sex":"男","like":"排球"},
{"name":"小靜","sex":"女","like":"羽毛球"}]*/

List<Student> lists =gson.fromJson(str, listType);
for (Student student: lists) {

System.out.println(student.getName()+","
+student.getSex()+","
+student.getLike());
}
//輸出結果: 張三,男,籃球
//          李四,男,足球
//          王五,男,排球
//          靜,女,羽毛球