Android Gson的使用
Gson是Google的一个Java类库,可以把Java对象转换成json,也可以把json字符串转换成Java对象,支持任意复杂Java对象。
Gson的解析规则是必须有一个bean文件,这个bean文件的字段名必须和json数据字段名对应,可多可少。
两个重要方法:toJson(),fromJson()。
toJson()就是将bean里面的内容转换成json字符串
User u=new User("Alice",19);
Gson g=new Gson();
System.out.println(g.toJson(u));
//打印结果是
{"name":"Alice","age":19}
toJson()还可以插入集合数据。
fromJson(),将json字符串封装成bean对象
User user = new User();
Gson gson = new Gson();
user = gson.fromJson("{name:'Alice',age:19}", User.class);
System.out.println(user.getName()+" "+user.getAge());
//打印结果是
Alice 12
如果你的Json里面不止一个对象,那么你就得使用一个集合来装,我们这里模拟一个list来装的例子,在使用list装的过程中我们会使用到一个工具类,typeToken(使用泛型获取javaBean(核心函数)),通过它我们可以获取一个泛型的数据类型,使用方法十分简单,TypeToken(泛型)(){}.gettype()即可,返回一个type类型,这就是fromjson所需要的type类型,来自于reflect包
User user = new User();
Gson gson = new Gson();
String s = "[{name:'Alice',age:19}, {name:'Gaby',age:12}]";
Type lt = new TypeToken<List<User>>(){}.getType();
List<user> list = g.fromJson(s,lt);
for(User u:list){
System.out.println(u.getName()+" "+u.getAge());
}
//打印结果是
Alice 19
Gaby 12