第一步:新建一个JsonBinder.java类,代码如下:
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.springframework.util.StringUtils;
public class JsonBinder {
private static Logger logger = LogManager.getLogger(JsonBinder.class);
private ObjectMapper mapper;
@SuppressWarnings("deprecation")
private JsonBinder( JsonSerialize.Inclusion inclusion) {
mapper = new ObjectMapper();
//设置输出包含的属性
mapper.getSerializationConfig().setSerializationInclusion(inclusion);
//设置输入时忽略JSON字符串中存在而Java对象实际没有的属性
mapper.getDeserializationConfig().set(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES,false);
}
public JsonBinder(){
}
/**
* 创建输出全部属性到Json字符串的Binder.
*/
public static JsonBinder buildNormalBinder() {
return new JsonBinder(JsonSerialize.Inclusion.ALWAYS);
}
/**
* 创建只输出非空属性到Json字符串的Binder.
*/
public static JsonBinder buildNonNullBinder() {
return new JsonBinder(JsonSerialize.Inclusion.NON_NULL);
}
/**
* 创建只输出初始值被改变的属性到Json字符串的Binder.
*/
publi