JSON 实体类转Map
时间: 2023-09-05 10:10:41 浏览: 100
Json转实体类
4星 · 用户满意度95%
可以使用 Jackson 库将 JSON 实体类转换成 Map 对象。
首先,需要引入 Jackson 库的依赖,例如 Maven:
```xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.3</version>
</dependency>
```
然后,可以使用 ObjectMapper 类的 readValue 方法将 JSON 字符串转换成 Java 对象,再使用 TypeReference 类型引用将 Java 对象转换成 Map 对象。示例代码如下:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
public class JsonToMap {
public static void main(String[] args) throws Exception {
String json = "{\"name\":\"Alice\",\"age\":20}";
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> map = objectMapper.readValue(json, new TypeReference<Map<String, Object>>(){});
System.out.println(map);
}
}
```
输出结果为:
```
{name=Alice, age=20}
```
注意,上述代码中,TypeReference 类型引用是匿名内部类的写法,也可以单独定义一个 TypeReference 类,例如:
```java
public class MapTypeReference extends TypeReference<Map<String, Object>> {}
```
然后在代码中使用:
```java
Map<String, Object> map = objectMapper.readValue(json, new MapTypeReference());
```
阅读全文