Gson是Google提供用來在java對象和JSON數(shù)據(jù)之間進行映射的Java類庫,可以將一個JSON字符串轉(zhuǎn)成一個Java對象,也可以反向轉(zhuǎn)化。
Gson里最重要的對象有兩個:Gson 和 GsonBuilder
Gson使用的兩個基本方法: - toJson() //將java對象轉(zhuǎn)換成json字符串 - fromJson() //將json字符串轉(zhuǎn)換成Java對象
Android開發(fā)中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對象轉(zhuǎn)化成java對象 private Person parseJSONWithGson(String jsonStr) { Gson gson = new Gson(); //提供Json字符串變量str,還有需要轉(zhuǎn)換的java對象類型 // Person person = gson.fromJson(jsonStr, Person.class); //解析JSON數(shù)組需要使用TypeToken將期望的類型傳入fromJson中 List<Person> personList = gson.fromJson(jsonStr, new TypeToken<List<Person>>() { }.getType()); //對于數(shù)組對象,我選擇了如下展示,這個通過Android Monitor來監(jiān)測到這個日志 for (Person person : personList) { Log.d("MainActivity", "age is " + person.getAge()); Log.d("MainActivity", "name is " + person.getName()); } return person; }另附日志結果:日志結果 從Json數(shù)據(jù)格式到對象,使用fromJson(),上述兩種情況一種是傳入單個類 如Person類型,另外是傳入集合類型 如List() 。
新聞熱點
疑難解答