ObjectMapper类json转集合
时间: 2024-01-09 08:42:32 浏览: 81
使用ObjectMapper类将一个JSON字符串转换为集合对象,可以按照以下步骤进行操作:
1. 导入Jackson库中的ObjectMapper类。
```java
import com.fasterxml.jackson.databind.ObjectMapper;
```
2. 创建一个ObjectMapper对象。
```java
ObjectMapper objectMapper = new ObjectMapper();
```
3. 使用readValue()方法将JSON字符串转换为集合对象。需要指定要转换的JSON字符串、集合类型以及泛型类型。
例如,将以下JSON字符串转换为List<String>类型的集合对象:
```json
["apple", "banana", "orange"]
```
代码如下:
```java
String jsonStr = "[\"apple\", \"banana\", \"orange\"]";
List<String> list = objectMapper.readValue(jsonStr, new TypeReference<List<String>>(){});
```
注意:使用TypeReference类来指定集合类型和泛型类型,这是因为Java中的泛型擦除机制,导致在运行时无法获取集合类型和泛型类型的信息。
4. 最后,可以按照普通的集合操作方式使用转换后的集合对象。
完整的示例代码如下:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
public class JsonToListDemo {
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
String jsonStr = "[\"apple\", \"banana\", \"orange\"]";
List<String> list = objectMapper.readValue(jsonStr, new TypeReference<List<String>>(){});
System.out.println(list); // [apple, banana, orange]
}
}
```
阅读全文