在Android開發(fā)中,我們經(jīng)常需要從服務(wù)器獲取JSON格式的數(shù)據(jù)并解析。而此時使用Gson庫可以使我們的解析變得更加簡單和方便。本文將以解析JSON數(shù)組為例,來介紹Gson庫的使用。
首先,在項(xiàng)目的build.gradle文件中添加以下依賴:
dependencies { implementation 'com.google.code.gson:gson:2.8.6' }
接下來,我們需要先定義一個Java類來存儲JSON中的數(shù)據(jù)。假設(shè)我們要解析如下JSON數(shù)組:
[ { "name": "Tom", "age": 18 }, { "name": "Jerry", "age": 20 } ]
我們可以定義一個Person類來保存每一個Person對象:
public class Person { private String name; private int age; public String getName() { return name; } public int getAge() { return age; } }
接著,我們可以使用如下代碼來解析JSON數(shù)組:
String json = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]"; Gson gson = new Gson(); Type type = new TypeToken<List<Person>>(){}.getType(); List<Person> personList = gson.fromJson(json, type);
上面的代碼中,我們首先定義了一個JSON字符串,然后使用Gson的fromJson方法將其解析成List<Person>類型的對象。
對于fromJson方法的第二個參數(shù),我們需要指定要解析的數(shù)據(jù)類型。由于我們要解析的是一個JSON數(shù)組,因此需要使用TypeToken來獲取List<Person>類型的Token。
最后,我們便可以通過遍歷personList來獲取每個Person對象的屬性:
for (Person person : personList) { Log.d(TAG, "name: " + person.getName() + ", age: " + person.getAge()); }
以上就是使用Gson庫解析JSON數(shù)組的方法。如果要解析其他類型的JSON數(shù)據(jù),也可以通過類似的方式定義Java類,并使用fromJson方法來進(jìn)行解析。希望本文對大家有所幫助。