json与对象转换的工具集合类
2012-11-20 16:31
393 查看
package com.myhexin.core.mapping; import java.io.IOException; import java.util.List; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 一些json与对象转换的工具集合类 * * */ public class JsonUtils { private static Logger logger = LoggerFactory.getLogger(JsonUtils.class); private static final ObjectMapper objectMapper = new ObjectMapper(); private JsonUtils(){} public static ObjectMapper getInstance() { return objectMapper; } /** * 使用Jackson 数据绑定 将对象转换为 json字符串 * * 还可以 直接使用 JsonUtils.getInstance().writeValueAsString(Object obj)方式 * @param obj * @return */ public static String toJsonString(Object obj) { try { return objectMapper.writeValueAsString(obj); } catch (JsonGenerationException e) { logger.error("转换为json字符串失败" + e.toString()); } catch (JsonMappingException e) { logger.error("转换为json字符串失败" + e.toString()); } catch (IOException e) { logger.error("转换为json字符串失败" + e.toString()); } return null; } /** * json字符串转化为 JavaBean * * 还可以直接JsonUtils.getInstance().readValue(String content,Class valueType)用这种方式 * @param <T> * @param content * @param valueType * @return */ public static <T> T toJavaBean(String content, Class<T> valueType) { try { return objectMapper.readValue(content, valueType); } catch (JsonParseException e) { logger.error("json字符串转化为 javabean失败" + e.toString()); } catch (JsonMappingException e) { logger.error("json字符串转化为 javabean失败" + e.toString()); } catch (IOException e) { logger.error("json字符串转化为 javabean失败" + e.toString()); } return null; } /** * json字符串转化为list * * 还可以 直接使用 JsonUtils.getInstance().readValue(String content, new TypeReference<List<T>>(){})方式 * @param <T> * @param content * @param valueType * @return * @throws IOException */ public static <T> List<T> toJavaBeanList(String content, TypeReference<List<T>> typeReference) throws IOException { try { return objectMapper.readValue(content, typeReference); } catch (JsonParseException e) { logger.error("json字符串转化为 list失败,原因:" + e.toString()); throw new RuntimeException("json字符串转化为 list失败"); } catch (JsonMappingException e) { logger.error("json字符串转化为 list失败,原因" + e.toString()); throw new JsonMappingException("json字符串转化为 list失败"); } catch (IOException e) { logger.error("json字符串转化为 list失败,原因" + e.toString()); throw new IOException("json字符串转化为 list失败"); } } }
相关文章推荐
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- Java对象、Json、Xml转换工具Jackson使用
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- Java对象、Json、Xml转换工具Jackson使用
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- Java对象、Json、Xml转换工具Jackson使用
- FastJson--阿里开源的速度最快的Json和对象转换工具 https://www.cnblogs.com/kaituorensheng/p/8082631.html
- json工具处理对象属性时,该属性需要特殊处理时,例如时间本来是yyyy/MM/dd你想转换为yyyy-MM-dd
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- json对象转换工具(java)
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- 小码哥哥 FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具(转)
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- Java 常用工具类(7) : 对象与json之间的转换
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- 学习 FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- JAVA工具类(8) --- json转换工具类(对象与json转换)
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具