簡單的Gson轉換json資料
阿新 • • 發佈:2018-12-26
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());
}
//輸出結果: 張三,男,籃球
// 李四,男,足球
// 王五,男,排球
// 靜,女,羽毛球