在Java開發中,拆分JSON數組是一個常見的操作。JSON數組是由多個JSON對象組成的列表,拆分它可以將列表中的每個JSON對象單獨處理。
// 示例JSON數組 String jsonArray = "[{\"name\":\"張三\",\"age\":18},{\"name\":\"李四\",\"age\":20},{\"name\":\"王五\",\"age\":22}]";
拆分一個JSON數組需要使用JSON庫,例如Jackson或Gson,它們可以將JSON數據轉換為Java對象。
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonArraySplitter { public static void main(String[] args) throws JsonProcessingException { String jsonArray = "[{\"name\":\"張三\",\"age\":18},{\"name\":\"李四\",\"age\":20},{\"name\":\"王五\",\"age\":22}]"; ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode = objectMapper.readTree(jsonArray); for (JsonNode node : jsonNode) { String name = node.get("name").asText(); int age = node.get("age").asInt(); System.out.println("Name: " + name + ", Age: " + age); } } }
上面的代碼使用Jackson庫將JSON數組轉換為JsonNode對象,然后遍歷JsonNode對象并處理每個JSON對象。
如果使用Gson庫,請使用以下代碼:
import com.google.gson.Gson; public class JsonArraySplitter { public static void main(String[] args) { String jsonArray = "[{\"name\":\"張三\",\"age\":18},{\"name\":\"李四\",\"age\":20},{\"name\":\"王五\",\"age\":22}]"; Gson gson = new Gson(); Person[] persons = gson.fromJson(jsonArray, Person[].class); for (Person person : persons) { System.out.println("Name: " + person.getName() + ", Age: " + person.getAge()); } } private static class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } }
代碼使用Gson庫將JSON數組轉換為Person對象的數組。Person對象是一個簡單的Java類,表示JSON對象的結構。然后遍歷Person數組并處理每個人的信息。