在使用Gson解析Json數據時,我們經常會遇到內嵌Json數組的情況。對于這種情況,我們使用Gson解析可以方便地將內嵌數組解析為Java對象或Java集合。
下面是一個包含內嵌數組的Json字符串:
{ "name": "John", "age": 30, "address": { "city": "New York", "state": "NY", "country": "USA" }, "phoneNumbers": [ { "type": "home", "number": "111-111-1111" }, { "type": "work", "number": "222-222-2222" } ] }
在這個Json字符串中,"phoneNumbers"鍵對應的值是一個內嵌的Json數組。接下來,我們將使用Gson將這個Json字符串解析為Java對象。
Gson gson = new Gson(); String json = "{...}"; //上面的Json字符串 Person person = gson.fromJson(json, Person.class);
上面的代碼中,我們先創建了一個Gson對象,然后將Json字符串和Java類類型傳入Gson的fromJson方法中。由于我們需要解析的Json字符串中包含內嵌數組,因此我們必須定義一個Java類來描述這個Json字符串。
下面是一個對應上面Json字符串的Person類:
public class Person { private String name; private int age; private Address address; private List<PhoneNumber> phoneNumbers; // 省略getter和setter } public class Address { private String city; private String state; private String country; // 省略getter和setter } public class PhoneNumber { private String type; private String number; // 省略getter和setter }
上面的Java類中,"phoneNumbers"鍵對應的值是一個List集合,該集合中的元素類型為PhoneNumber,對應Json中的每個內嵌Json對象。
通過上面的代碼和Java類定義,我們可以將包含內嵌數組的Json字符串成功地解析為Java對象。在實際開發中,我們可以根據需要在Java類中定義更加復雜的結構來描述Json字符串中的數據內容。