在Java中,我們經常需要將JSON格式的數據轉換成List類型,以便于后續的數據操作和處理。下面是一個JSON格式的示例數據:
{ "name": "小明", "age": 18, "address": "北京市朝陽區" }
首先,我們需要引入JSON相關的依賴包:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.2</version> </dependency>
接下來,我們可以使用Jackson提供的ObjectMapper類將JSON數據轉換成Java對象:
ObjectMapper objectMapper = new ObjectMapper(); String jsonStr = "{\n\"name\": \"小明\",\n\"age\": 18,\n\"address\": \"北京市朝陽區\"\n}"; try { Map map = objectMapper.readValue(jsonStr, Map.class); System.out.println(map.get("name")); System.out.println(map.get("age")); System.out.println(map.get("address")); } catch (JsonProcessingException e) { e.printStackTrace(); }
上述代碼將JSON字符串轉換成Map對象,并輸出其中的name、age和address字段。如果我們想要將JSON數據轉換成List類型,則可以按照以下方式實現:
ObjectMapper objectMapper = new ObjectMapper(); String jsonStr = "[{\n\"name\": \"小明\",\n\"age\": 18,\n\"address\": \"北京市朝陽區\"\n},{\n\"name\": \"小紅\",\n\"age\": 20,\n\"address\": \"北京市海淀區\"\n}]"; try { List<Map<String, Object>> list = objectMapper.readValue(jsonStr, new TypeReference<List<Map<String, Object>>>() {}); for (Map<String, Object> map : list) { System.out.println(map.get("name")); System.out.println(map.get("age")); System.out.println(map.get("address")); } } catch (JsonProcessingException e) { e.printStackTrace(); }
上述代碼將JSON字符串轉換成List<Map<String, Object>>對象,并遍歷其中的每一條數據,并輸出其中的name、age和address字段。