springboot中使用objectMapper将json数组字符串转List<Map>,使用new TypeReference
时间: 2024-10-22 09:10:46 浏览: 58
在Spring Boot中,如果你想要将JSON数组转换为`List<Map<String, Object>>`,你可以利用Jackson库提供的`ObjectMapper`工具,并配合`TypeReference`来完成这个操作。`TypeReference`是一个泛型类,它允许你在运行时指定返回结果的类型。
下面是一个示例:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.type.TypeReference;
// 假设你有一个JSON字符串
String jsonString = "[{\"key\":\"value1\"}, {\"key\":\"value2\"}]";
// 创建ObjectMapper实例
ObjectMapper objectMapper = new ObjectMapper();
// 使用TypeReference指定目标类型
List<Map<String, Object>> list = objectMapper.readValue(jsonString, new TypeReference<List<Map<String, Object>>>() {});
// 现在list变量就包含了解析后的Map列表
```
在这个例子中,`readValue()`方法会读取JSON字符串并将其转换为指定类型的列表。
相关问题
java中JSON字符串转成List<Map>
可以使用Jackson库来实现JSON字符串转成List<Map>,具体代码如下:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;
import java.util.Map;
public class JsonUtils {
private static final ObjectMapper mapper = new ObjectMapper();
public static List<Map<String, Object>> jsonToListMap(String jsonStr) {
try {
return mapper.readValue(jsonStr, new TypeReference<List<Map<String, Object>>>() {});
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
```
使用示例:
```java
String jsonStr = "[{\"id\":1,\"name\":\"Tom\"},{\"id\":2,\"name\":\"Jerry\"}]";
List<Map<String, Object>> listMap = JsonUtils.jsonToListMap(jsonStr);
for (Map<String, Object> map : listMap) {
System.out.println(map.get("id") + " " + map.get("name"));
}
```
输出结果:
```
1 Tom
2 Jerry
```
java中json字符串强转成list<map>
可以使用Jackson库中的ObjectMapper类将JSON字符串转换为List<Map>对象。具体代码如下:
```
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
String jsonStr = "[{\"id\":1,\"name\":\"Tom\"},{\"id\":2,\"name\":\"Jerry\"}]";
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> list = objectMapper.readValue(jsonStr, new TypeReference<List<Map<String, Object>>>() {});
```
其中,jsonStr是待转换的JSON字符串,List<Map>是转换后的结果。
阅读全文