JSON是一種輕量級的數據交換格式,它便于人閱讀和編寫,同時也方便計算機程序進行解析和生成。在Java中,我們常常需要將JSON數據轉換為Java集合,本文將介紹如何使用Java中的json庫將JSON數據轉換為Java集合。
首先我們需要引入json庫,可以使用以下maven坐標
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
接下來看一個示例JSON字符串
{
"name": "Tom",
"age": 20,
"gender": "male",
"hobbies": ["reading", "swimming", "running"],
"address": {
"province": "Guangdong",
"city": "Shenzhen"
}
}
我們可以使用JSONObject將JSON字符串轉換成一個Java對象
import org.json.JSONObject;
String jsonString = "{\"name\":\"Tom\",\"age\":20,\"gender\":\"male\",\"hobbies\":[\"reading\",\"swimming\",\"running\"],\"address\":{\"province\":\"Guangdong\",\"city\":\"Shenzhen\"}}";
JSONObject jsonObject = new JSONObject(jsonString);
如果我們想將"hobbies"轉換成一個List<String>集合,可以使用JSONArray
import org.json.JSONArray;
JSONArray hobbies = jsonObject.getJSONArray("hobbies");
List<String> hobbyList = new ArrayList<>();
for(int i = 0; i < hobbies.length(); i++){
hobbyList.add(hobbies.getString(i));
}
如果我們想將"address"轉換成一個Map<String, String>集合,可以使用JSONObject
JSONObject address = jsonObject.getJSONObject("address");
Map<String, String> addressMap = new HashMap<>();
addressMap.put("province", address.getString("province"));
addressMap.put("city", address.getString("city"));
這樣我們就成功地將JSON字符串轉換成了Java對象、List集合、Map集合。
下一篇css背景豎圖片變橫圖