Java–学习(一)关于使用Gson将json字符串转换成对象
在开发应用过程中,我们一般会碰到以下两种转换方式:
1.json字符串转换成单一对象
2.json字符串转换成对象列表
首先,我们来看看第一种情况:
json字符串转换成单一对象
//首先要新建一个类,这个类的属性和你所要解析的json字符串中的key相同
class Student {
String name;
Integer age;
Float height;
Float weight;
}
String str = "{'name': 'Kevin', 'age': 25, 'height': 180, 'weight': 70}";
/**
* str代表的是json字符串,Student.class代表的是你要转成的类型
*/
Gson gson = new Gson();
Student student = gson.fromJson(str, Student.class);
第二种情况:
json字符串转成对象列表
Class Student {
String name;
Integer age;
}
String str = "[{'name': 'Kevin','age': 25},{'name': 'Bob','age': 20},{'name': 'jack','age': 18}]";
/**
* str代表的是json字符串
*/
Gson gson = new Gson();
List<Student> studentList = gson.fromJson(str, new TypeToken<List<Student>>(){}.getType());
for (Student student: studentList) {
String name = student.name;
Integer age = student.age;
}
gson可以通过使用annotation来灵活配置需要序列化的字段
关于annotation可以官方文档查看详细的介绍