jackson将对象转为map
时间: 2023-07-29 12:14:48 浏览: 192
解析Java的Jackson库中对象的序列化与数据泛型绑定
要将一个 Java 对象转换为 Map,可以使用 Jackson 库提供的 ObjectMapper 类的 convertValue() 方法。具体实现步骤如下:
1. 创建一个 ObjectMapper 对象。
2. 调用 ObjectMapper 的 convertValue() 方法,并传入要转换的 Java 对象和 Map 的类型。例如,如果要将一个名为 obj 的对象转换为 Map<String, Object>,则可以这样调用:`Map<String, Object> map = objectMapper.convertValue(obj, new TypeReference<Map<String, Object>>() {});`
以下是一个示例代码:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Map;
public class ObjectToMapExample {
public static void main(String[] args) {
// 创建一个对象
Person person = new Person("John", 30);
// 创建一个 ObjectMapper 对象
ObjectMapper objectMapper = new ObjectMapper();
// 将对象转换为 Map
Map<String, Object> map = objectMapper.convertValue(person, new TypeReference<Map<String, Object>>() {});
// 输出转换结果
System.out.println(map);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
输出结果为:`{name=John, age=30}`
阅读全文