org.frameworkset.json.Jackson1ObjectMapper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bboss-util Show documentation
Show all versions of bboss-util Show documentation
bboss is a j2ee framework include aop/ioc,mvc,persistent,taglib,rpc,event ,bean-xml serializable and so on.http://www.bbossgroups.com
package org.frameworkset.json;
import org.codehaus.jackson.JsonParser.Feature;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.type.TypeReference;
import org.frameworkset.util.annotations.DateFormateMeta;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Writer;
import java.lang.reflect.Type;
public class Jackson1ObjectMapper implements JacksonObjectMapper {
ObjectMapper mapper = null;
private String dateFormat;
private String locale;
private String timeZone;
private boolean disableTimestamp = false;
boolean failedOnUnknownProperties = false;
@Override
public String getDateFormat() {
return dateFormat;
}
public com.fasterxml.jackson.databind.JavaType getJavaType(Class containerType, Class ... beanClass){
return null;
}
public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper(){
return null;
}
public com.fasterxml.jackson.databind.JavaType getJavaMapType(Class containerType, Class keyClass, Class valueClass){
return null;
}
@Override
public void setDateFormat(String dateFormat) {
this.dateFormat = dateFormat;
}
@Override
public String getLocale() {
return locale;
}
@Override
public void setLocale(String locale) {
this.locale = locale;
}
@Override
public String getTimeZone() {
return timeZone;
}
@Override
public void setTimeZone(String timeZone) {
this.timeZone = timeZone;
}
@Override
public boolean isDisableTimestamp() {
return disableTimestamp;
}
@Override
public void setDisableTimestamp(boolean disableTimestamp) {
this.disableTimestamp = disableTimestamp;
}
public boolean isFailedOnUnknownProperties() {
return failedOnUnknownProperties;
}
@Override
public void setFailedOnUnknownProperties(boolean failedOnUnknownProperties) {
this.failedOnUnknownProperties = failedOnUnknownProperties;
}
@Override
public void init() {
if(dateFormat != null && !dateFormat.equals("")) {
DateFormateMeta dateFormateMeta = DateFormateMeta.buildDateFormateMeta(this.dateFormat, this.locale, this.timeZone);
this.mapper.setDateFormat(dateFormateMeta.toDateFormat());
}
if(this.disableTimestamp){
mapper.disable(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS);
}
this.mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES,failedOnUnknownProperties);
}
public Jackson1ObjectMapper(){
mapper = new ObjectMapper();
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES,false);
}
/* (non-Javadoc)
* @see org.frameworkset.json.JacksonObjectMapper#json2Object(java.lang.String, java.lang.Class)
*/
@Override
public T json2Object(String jsonString,Class toclass) {
// TODO Auto-generated method stub
return json2Object(jsonString,toclass,true);
}
/* (non-Javadoc)
* @see org.frameworkset.json.JacksonObjectMapper#json2Object(java.lang.String, java.lang.Class, boolean)
*/
@Override
public T json2Object(String jsonString,Class toclass,boolean ALLOW_SINGLE_QUOTES) {
// TODO Auto-generated method stub
// String jsonString = "[{'from_date':'2001-09-21','to_date':'2011-04-02','company':'人寿保险','department':'xxx','position':'主管' },{'from_date':'0002-12-01','to_date':'2011-04-02', 'company':'人寿保险','department':'xxx','position':'主管' }]";
// ObjectMapper mapper = new ObjectMapper();
// mapper.configure(Feature.ALLOW_SINGLE_QUOTES, ALLOW_SINGLE_QUOTES);
try {
T value = mapper.readValue(jsonString, toclass);
return value;
} catch (Exception e) {
throw new IllegalArgumentException(jsonString,e);
}
}
/* (non-Javadoc)
* @see org.frameworkset.json.JacksonObjectMapper#json2Object(java.lang.String, java.lang.Class, boolean)
*/
@Override
public T json2Object(InputStream jsonString,Class toclass,boolean ALLOW_SINGLE_QUOTES) {
// TODO Auto-generated method stub
// String jsonString = "[{'from_date':'2001-09-21','to_date':'2011-04-02','company':'人寿保险','department':'xxx','position':'主管' },{'from_date':'0002-12-01','to_date':'2011-04-02', 'company':'人寿保险','department':'xxx','position':'主管' }]";
// ObjectMapper mapper = new ObjectMapper();
// mapper.configure(Feature.ALLOW_SINGLE_QUOTES, ALLOW_SINGLE_QUOTES);
try {
T value = mapper.readValue(jsonString, toclass);
return value;
} catch (Exception e) {
throw new IllegalArgumentException("",e);
}
}
// public T json2Object(String jsonString,TypeReference ref) {
// return json2Object(jsonString,ref,true);
//
//
// }
//
@Override
public T json2ObjectWithType(InputStream jsonString, final JsonTypeReference ref,
boolean ALLOW_SINGLE_QUOTES) {
ObjectMapper mapper = new ObjectMapper();
TypeReference> ref_ = new TypeReference