jackson 工具类封装
时间: 2023-08-25 21:05:41 浏览: 55
Jackson是一个非常流行的Java JSON处理库,它可以将Java对象序列化为JSON格式,也可以将JSON格式的字符串反序列化为Java对象。对于使用Jackson的开发者来说,封装一些常用的工具类可以提高开发效率,减少代码冗余。以下是一个简单的Jackson工具类封装示例:
```java
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
public class JsonUtils {
private static final ObjectMapper mapper = new ObjectMapper();
public static <T> T parse(String json, Class<T> clazz) throws IOException {
return mapper.readValue(json, clazz);
}
public static String toJson(Object obj) throws JsonProcessingException {
return mapper.writeValueAsString(obj);
}
}
```
这个工具类封装了两个方法:
1. `parse`方法用于将JSON格式的字符串反序列化为Java对象。
2. `toJson`方法用于将Java对象序列化为JSON格式的字符串。
使用该工具类封装的示例代码如下:
```java
public class User {
private String name;
private int age;
// 省略getter和setter方法
}
public static void main(String[] args) throws IOException {
// 将JSON字符串转换成Java对象
String jsonStr = "{\"name\":\"Tom\",\"age\":18}";
User user = JsonUtils.parse(jsonStr, User.class);
System.out.println(user.getName()); // 输出:Tom
System.out.println(user.getAge()); // 输出:18
// 将Java对象转换成JSON字符串
User newUser = new User();
newUser.setName("Jerry");
newUser.setAge(20);
String newJsonStr = JsonUtils.toJson(newUser);
System.out.println(newJsonStr); // 输出:{"name":"Jerry","age":20}
}
```
以上就是一个简单的Jackson工具类封装示例,通过这样的封装,我们可以更方便地使用Jackson进行JSON的序列化和反序列化操作。