jackson 完美用法
2017-08-06 10:35
155 查看
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.map.DeserializationConfig.Feature;
import org.codehaus.jackson.map.MappingJsonFactory;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.JavaType;
public class JsonUtils {
public static <K, V> String toJson(Map<K, V> obj) {
String jsonString = "";
try {
if (obj == null) {
return "";
}
StringWriter sw = new StringWriter();
JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(gen, obj);
jsonString = sw.toString();
sw.close();
} catch (Exception ex) {
ex.printStackTrace();
return "";
}
return jsonString;
}
@SuppressWarnings("unchecked")
public static Map<String, Object> toMap(String json) {
Map<String, Object> result = new HashMap<String, Object>();
try {
if (json == null || json.equals("")) {
return null;
}
ObjectMapper objectMapper = new ObjectMapper();
result = objectMapper.readValue(json, Map.class);
if (result == null) {
return new HashMap<String, Object>();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result;
}
public static String toJson(Object object) {
String json = "";
try {
if (object == null) {
return "";
}
StringWriter sw = new StringWriter();
JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(gen, object);
json = sw.toString();
sw.close();
} catch (Exception ex) {
ex.printStackTrace();
json = "";
}
return json;
}
public static <T> T toObject(String json, Class<T> clazz) {
T obj = null;
try {
if (json == null || json.equals("")) {
return null;
}
JsonFactory jsonFactory = new MappingJsonFactory();
JsonParser jsonParser = jsonFactory.createJsonParser(json);
ObjectMapper mapper = new ObjectMapper();
mapper.getDeserializationConfig().set(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
obj = mapper.readValue(jsonParser, clazz);
} catch (Exception ex) {
ex.printStackTrace();
obj = null;
}
return obj;
}
public static <T> List<T> toList(String json, Class<T> clazz) {
if (json == null || json.equals("")) {
return null;
}
ObjectMapper mapper = new ObjectMapper();
mapper.getDeserializationConfig().set(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
List<T> list = new ArrayList<T>();
try {
JavaType type = mapper.getTypeFactory().constructParametricType(List.class, clazz);
list = mapper.readValue(json, type);
return list;
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.map.DeserializationConfig.Feature;
import org.codehaus.jackson.map.MappingJsonFactory;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.JavaType;
public class JsonUtils {
public static <K, V> String toJson(Map<K, V> obj) {
String jsonString = "";
try {
if (obj == null) {
return "";
}
StringWriter sw = new StringWriter();
JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(gen, obj);
jsonString = sw.toString();
sw.close();
} catch (Exception ex) {
ex.printStackTrace();
return "";
}
return jsonString;
}
@SuppressWarnings("unchecked")
public static Map<String, Object> toMap(String json) {
Map<String, Object> result = new HashMap<String, Object>();
try {
if (json == null || json.equals("")) {
return null;
}
ObjectMapper objectMapper = new ObjectMapper();
result = objectMapper.readValue(json, Map.class);
if (result == null) {
return new HashMap<String, Object>();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result;
}
public static String toJson(Object object) {
String json = "";
try {
if (object == null) {
return "";
}
StringWriter sw = new StringWriter();
JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(gen, object);
json = sw.toString();
sw.close();
} catch (Exception ex) {
ex.printStackTrace();
json = "";
}
return json;
}
public static <T> T toObject(String json, Class<T> clazz) {
T obj = null;
try {
if (json == null || json.equals("")) {
return null;
}
JsonFactory jsonFactory = new MappingJsonFactory();
JsonParser jsonParser = jsonFactory.createJsonParser(json);
ObjectMapper mapper = new ObjectMapper();
mapper.getDeserializationConfig().set(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
obj = mapper.readValue(jsonParser, clazz);
} catch (Exception ex) {
ex.printStackTrace();
obj = null;
}
return obj;
}
public static <T> List<T> toList(String json, Class<T> clazz) {
if (json == null || json.equals("")) {
return null;
}
ObjectMapper mapper = new ObjectMapper();
mapper.getDeserializationConfig().set(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
List<T> list = new ArrayList<T>();
try {
JavaType type = mapper.getTypeFactory().constructParametricType(List.class, clazz);
list = mapper.readValue(json, type);
return list;
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
相关文章推荐
- FastJSON、Jackson和Gson用法
- poj 1833 排列 [ 使用STL的next_permutation函数生成全排列 + STL中copy函数的用法完美解决 ]
- JACKSON框架用法基本
- ExpandableListView二级分栏详解完美用法
- Jackson的json转换和Jackson Annotations 基本用法
- jackson用法
- 关于Jackson2.x中com.fasterxml.jackson包的用法
- Jackson的简单用法
- Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明
- Jackson的用法实例分析
- jackson 用法总结
- 把实体 转为json 数据格式---jackson 的详细用法.
- jackson的用法
- jackson简单用法总结
- jackson简单用法
- RecyclerView封装详解完美用法一
- Jackson和fastjson简单用法及性能对比
- Jackson的简单用法
- Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明
- RecyclerView封装详解完美用法二