在Java編程中,我們常常需要將Json字符串轉(zhuǎn)化為List集合。我們可以使用Java自帶的JSON庫或者第三方庫來實現(xiàn)。下面我們將介紹使用Java自帶的JSON庫來完成此操作的方法。
// 導(dǎo)入java.util.List和org.json.JSONArray類 import java.util.List; import org.json.JSONArray; // 定義Json字符串 String jsonStr = "[{\"id\":1,\"name\":\"張三\"},{\"id\":2,\"name\":\"李四\"},{\"id\":3,\"name\":\"王五\"}]"; // 將Json字符串轉(zhuǎn)化為JSONArray對象 JSONArray jsonArray = new JSONArray(jsonStr); // 將JSONArray對象轉(zhuǎn)化為List集合 List
在上述代碼中,我們首先導(dǎo)入java.util.List和org.json.JSONArray類。然后,我們定義了一個Json字符串,其中包含了三個包含id和name屬性的對象。接著,我們使用JSONArray類的構(gòu)造函數(shù)傳入Json字符串來創(chuàng)建一個JSONArray對象。最后,我們調(diào)用JSONArray對象的toList()方法將其轉(zhuǎn)化為一個List集合。
如果我們需要將Json字符串轉(zhuǎn)化為指定類型的List集合,我們可以借助TypeReference類來完成。下面的示例展示了如何將Json字符串轉(zhuǎn)化為List<Person>類型的List集合:
// 導(dǎo)入java.util.List和java.util.TypeReference類 import java.util.List; import java.util.stream.Collectors; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; // 定義Person類 class Person { private int id; private String name; public Person(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } // 定義Json字符串 String jsonStr = "[{\"id\":1,\"name\":\"張三\"},{\"id\":2,\"name\":\"李四\"},{\"id\":3,\"name\":\"王五\"}]"; // 將Json字符串轉(zhuǎn)化為List集合 ObjectMapper objectMapper = new ObjectMapper(); ListpersonList = objectMapper.readValue(jsonStr, new TypeReference >(){}); // 輸出Person對象列表的id和name屬性 personList.forEach(person ->System.out.println(person.getId() + " : " + person.getName()));
在上述代碼中,我們首先導(dǎo)入java.util.List和java.util.TypeReference類。然后,我們定義了一個Person類,該類包含了id和name兩個屬性以及對應(yīng)的getter和setter方法。接著,我們定義了一個Json字符串,其中包含了三個包含id和name屬性的對象。
接下來,我們使用ObjectMapper類的readValue()方法將Json字符串轉(zhuǎn)化為List<Person>類型的List集合。通過TypeReference類,我們可以指定List<Person>類型的List集合。最后,我們可以遍歷Person對象列表,并輸出其id和name屬性。
總之,使用Java自帶的JSON庫可以便捷地實現(xiàn)Json字符串到List集合的轉(zhuǎn)化。需要注意的是,當(dāng)我們需要將Json字符串轉(zhuǎn)化為指定類型的List集合時,我們還需要借助TypeReference類和ObjectMapper類來完成。