Gson是Google提供用来在java对象和JSON数据之间进行映射的Java类库,可以将一个JSON字符串转成一个Java对象,也可以反向转化。
Gson里最重要的对象有两个:Gson 和 GsonBuilder
Gson使用的两个基本方法: - toJson() //将java对象转换成json字符串 - fromJson() //将json字符串转换成Java对象
Android开发中GSON库需要在项目中填加,编辑modul的build.gradle文件,在dependencies中添加compile ‘com.google.code.gson:gson:2.7’ 当还有更新的版本,这里还要注意插件与gradle版本兼容的问题。必要时可以更新gradle或者修改项目中classpath里的gradle的版本号。
toJson()方法
//将java对象生成json对象 PRivate String generateJSONWithGson(Person person) { Gson gson = new Gson(); List<Person> personList = new ArrayList<Person>(); personList.add(person); personList.add(person); String jsonStr = gson.toJson(personList); return jsonStr; }fromJson()方法
//将json对象转化成java对象 private Person parseJSONWithGson(String jsonStr) { Gson gson = new Gson(); //提供Json字符串变量str,还有需要转换的java对象类型 // Person person = gson.fromJson(jsonStr, Person.class); //解析JSON数组需要使用TypeToken将期望的类型传入fromJson中 List<Person> personList = gson.fromJson(jsonStr, new TypeToken<List<Person>>() { }.getType()); //对于数组对象,我选择了如下展示,这个通过Android Monitor来监测到这个日志 for (Person person : personList) { Log.d("MainActivity", "age is " + person.getAge()); Log.d("MainActivity", "name is " + person.getName()); } return person; }另附日志结果:日志结果 从Json数据格式到对象,使用fromJson(),上述两种情况一种是传入单个类 如Person类型,另外是传入集合类型 如List() 。
新闻热点
疑难解答