JSON是一種常用的數(shù)據(jù)格式,而在Java中將JSON轉(zhuǎn)換成List或Map是非常常見的操作。
下面是一個JSON字符串的例子:
{ "name": "John", "age": 30, "isStudent": true, "address": { "street": "123 Main St", "city": "New York", "state": "NY" }, "phoneNumbers": [ { "type": "cell", "number": "555-555-1234" }, { "type": "home", "number": "555-555-5678" } ] }
如果要將這個JSON轉(zhuǎn)換成Java中的對象,需要使用一個JSON庫,比如Jackson庫。
下面是一個將JSON轉(zhuǎn)換成List的例子:
ObjectMapper objectMapper = new ObjectMapper(); String jsonStr = "{...}"; // JSON字符串 List<Map<String, Object>> list = objectMapper.readValue(jsonStr, new TypeReference<List<Map<String, Object>>>(){}.getType());
代碼解釋:
首先創(chuàng)建一個ObjectMapper對象,然后將JSON字符串傳入readValue()方法中,使用TypeReference指定返回的對象類型。
下面是一個將JSON轉(zhuǎn)換成Map的例子:
ObjectMapper objectMapper = new ObjectMapper(); String jsonStr = "{...}"; // JSON字符串 Map<String, Object> map = objectMapper.readValue(jsonStr, new TypeReference<Map<String, Object>>(){});
代碼解釋:
和轉(zhuǎn)換成List的例子類似,只不過返回的是一個Map對象。