Gson是Google提供的一個Java JSON庫,它可以將Java對象和JSON互相轉換。在Android開發中,使用Gson可以簡化我們的開發流程,讓我們更輕松地解析和生成JSON數據。
在使用Gson解析JSON時,如果需要解析一個JSON數組(List對象),我們可以使用以下代碼:
// 假設我們有以下JSON數據: // [{"name":"Tom","age":18},{"name":"Jerry","age":20}] Gson gson = new Gson(); String json = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]"; Type type = new TypeToken<List<Person>>(){}.getType(); List<Person> personList = gson.fromJson(json, type);
上面的代碼中,我們首先將需要解析的JSON數據保存在一個String對象中,然后通過Gson的fromJson()方法將其轉換成一個Person類型的List對象。
在定義type對象時,我們需要使用TypeToken類。TypeToken是Gson提供的一個泛型類,可以用來包裝任何類型的Java對象,以便使用Gson進行序列化和反序列化。在這里,我們使用TypeToken<List<Person>>(){}.getType()表示將解析出來的JSON數組轉換為List類型,List中的元素類型為Person類。
最后,我們就可以遍歷personList數組,依次獲取其中的每一個Person對象:
for (Person person : personList) { Log.d(TAG, "name: " + person.getName() + ", age: " + person.getAge()); }
上面的代碼中,我們使用了Person對象中的getName()和getAge()方法獲取每個Person對象中的姓名和年齡,并通過Log.d()方法將其輸出到控制臺中。