GSON是Google開發的一個Java庫,可以將java對象轉換成JSON對象,也可以將JSON對象轉換成java對象。GSON提供了許多方法以簡化JSON對象的操作。在GSON中,也可以將JSON對象轉換成JSON對象數組或JSON對象數組轉換為java對象數組。下面將介紹JSON對象數組的使用方法。
// 將JSON字符串轉換為JSON對象數組 String jsonStr = "[{'id': 1, 'name': 'Tom'}, {'id': 2, 'name': 'Mike'}]"; JsonArray jsonArray = new JsonParser().parse(jsonStr).getAsJsonArray(); // 遍歷JSON對象數組 for (JsonElement jsonElement : jsonArray) { JsonObject jsonObject = jsonElement.getAsJsonObject(); int id = jsonObject.get("id").getAsInt(); String name = jsonObject.get("name").getAsString(); System.out.println("id: " + id + ", name: " + name); } // 將JSON對象數組轉換為java對象數組 ListpersonList = new ArrayList<>(); for (JsonElement jsonElement : jsonArray) { JsonObject jsonObject = jsonElement.getAsJsonObject(); Person person = new Person(); person.setId(jsonObject.get("id").getAsInt()); person.setName(jsonObject.get("name").getAsString()); personList.add(person); } Person[] persons = personList.toArray(new Person[personList.size()]);
上述代碼中,首先將JSON字符串轉換成JSON對象數組。接著,使用for-each循環遍歷JSON對象數組,并通過getAsJsonObject()方法得到JSON對象。獲取JSON對象中的屬性值可以使用getAsInt()或getAsDouble()等方法。GSON還提供了getAsBoolean()、getAsByte()、getAsChar()、getAsFloat()、getAsLong()、getAsShort()等方法以適配不同類型的屬性值。最后,可以將JSON對象數組轉換為java對象數組。