jackson 单例工具

import java.io.IOException;


import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;


/**
 *  @author  - NingZhong.Zeng
 *  @version - 1.0.0.0
 *  @since   - 2014-6-30 下午4:18:41
 *  类说明               - 
 */
public class JsonUtil {
	private static JsonUtil mJosnUtil  = null;
	private ObjectMapper    mapper     = null;
	
	public static JsonUtil getInstance() {
		if(mJosnUtil == null){
			synchronized (JsonUtil.class) {
				if(mJosnUtil == null){
					mJosnUtil = new JsonUtil();
					mJosnUtil.mapper = new ObjectMapper();
				}
			}
		}
		return mJosnUtil;
	}
	
	public String writeJson(Object entity){
		String str = "";
		try {
			str = mapper.disableDefaultTyping().writeValueAsString(entity);
		} catch (JsonGenerationException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	}
	
	public <T> T readJson(String jsonStr, Class<T> T){
		T obj = null;
		try {
			obj = mapper.readValue(jsonStr, T);
		} catch (JsonParseException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return obj;
	}
	
	
	
}

Spring Jackson 工具类是一种用于将 JSON 数据序列化和反序列化为 Java 对象的工具类。该工具类是基于 Jackson 库开发的,可以在 Spring 应用程序中很方便地使用。 在 Spring 应用程序中使用 Spring Jackson 工具类,步骤如下: 1. 添加依赖:在 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.10.3</version> </dependency> ``` 2. 创建配置类:创建一个配置类,用于配置 Jackson 的 ObjectMapper 对象。可以在配置类中添加自定义的序列化和反序列化器。 ``` @Configuration public class JacksonConfig { @Bean public ObjectMapper objectMapper() { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false); objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); return objectMapper; } } ``` 3. 使用工具类:在需要序列化或反序列化 JSON 数据的地方使用 Spring Jackson 工具类。 ``` @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/users/{id}") public User getUserById(@PathVariable Long id) { return userService.getUserById(id); } @PostMapping("/users") public User addUser(@RequestBody User user) { return userService.addUser(user); } } ``` 在上面的例子中,使用了 @RequestBody 注解将 JSON 数据反序列化为 User 对象,在返回值中使用了 Spring Jackson 工具类将 User 对象序列化为 JSON 数据返回给客户端。 总之,Spring Jackson 工具类是一种方便易用的 JSON 序列化和反序列化工具类,对于需要对 JSON 数据和 Java 对象进行转换的 Spring 应用程序来说非常实用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值