提供一个 ObjectMapper 的JSON工具类
时间: 2024-11-24 12:23:20 浏览: 6
Java json工具类,jackson工具类,ObjectMapper工具类
提供一个自定义的`ObjectMapper` JSON工具类可以帮助我们在Java应用中更方便地序列化和反序列化Java对象到JSON格式以及从JSON字符串解析对象。`ObjectMapper`是Jackson库中的核心组件,由com.fasterxml.jackson.core包下的`JsonFactory`和`ObjectMapper`类组成。
下面是一个简单的`ObjectMapper`工具类示例:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUtil {
private static final ObjectMapper objectMapper = new ObjectMapper();
// 封装静态工厂方法,简化创建对象实例
public static ObjectMapper getObjectMapper() {
return objectMapper;
}
/**
* 序列化Java对象为JSON字符串
* @param obj 需要序列化的对象
* @return JSON字符串
*/
public static String objectToJson(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (Exception e) {
throw new RuntimeException("Failed to serialize object to JSON", e);
}
}
/**
* 反序列化JSON字符串为Java对象
* @param jsonStr JSON字符串
* @param clazz 对象的Class类型
* @param <T> 类型参数
* @return 解析后的对象
*/
public static <T> T jsonToObject(String jsonStr, Class<T> clazz) {
try {
return objectMapper.readValue(jsonStr, clazz);
} catch (Exception e) {
throw new RuntimeException("Failed to deserialize JSON to object", e);
}
}
}
```
在这个工具类中,我们定义了一个静态的`objectMapper`对象,并提供了两个常用的方法`objectToJson`和`jsonToObject`,分别用于将Java对象转换成JSON字符串,以及将JSON字符串转换回Java对象。
阅读全文