1. public class JacksonJsonUtil {
  2. private static ObjectMapper mapper;
  3.  
  4. /**
  5. * 获取ObjectMapper实例
  6. * @param createNew 方式:true,新实例;false,存在的mapper实例
  7. * @return
  8. */
  9. public static synchronized ObjectMapper getMapperInstance(boolean createNew) {
  10. if (createNew) {
  11. return new ObjectMapper();
  12. } else if (mapper == null) {
  13. mapper = new ObjectMapper();
  14. }
  15. return mapper;
  16. }
  17.  
  18. /**
  19. * 将java对象转换成json字符串
  20. * @param obj 准备转换的对象
  21. * @return json字符串
  22. * @throws Exception
  23. */
  24. public static String beanToJson(Object obj) throws Exception {
  25. try {
  26. ObjectMapper objectMapper = getMapperInstance(false);
  27. String json =objectMapper.writeValueAsString(obj);
  28. return json;
  29. } catch (Exception e) {
  30. throw new Exception(e.getMessage());
  31. }
  32. }
  33.  
  34. /**
  35. * 将java对象转换成json字符串
  36. * @param obj 准备转换的对象
  37. * @param createNew ObjectMapper实例方式:true,新实例;false,存在的mapper实例
  38. * @return json字符串
  39. * @throws Exception
  40. */
  41. public static String beanToJson(Object obj,Boolean createNew) throws Exception {
  42. try {
  43. ObjectMapper objectMapper = getMapperInstance(createNew);
  44. String json =objectMapper.writeValueAsString(obj);
  45. return json;
  46. } catch (Exception e) {
  47. throw new Exception(e.getMessage());
  48. }
  49. }
  50.  
  51. /**
  52. * 将json字符串转换成java对象
  53. * @param json 准备转换的json字符串
  54. * @param cls 准备转换的类
  55. * @return
  56. * @throws Exception
  57. */
  58. public static Object jsonToBean(String json, Class<?> cls) throws Exception {
  59. try {
  60. ObjectMapper objectMapper = getMapperInstance(false);
  61. Object vo = objectMapper.readValue(json, cls);
  62. return vo;
  63. } catch (Exception e) {
  64. throw new Exception(e.getMessage());
  65. }
  66. }
  67.  
  68. /**
  69. * 将json字符串转换成java对象
  70. * @param json 准备转换的json字符串
  71. * @param cls 准备转换的类
  72. * @param createNew ObjectMapper实例方式:true,新实例;false,存在的mapper实例
  73. * @return
  74. * @throws Exception
  75. */
  76. public static Object jsonToBean(String json, Class<?> cls,Boolean createNew) throws Exception {
  77. try {
  78. ObjectMapper objectMapper = getMapperInstance(createNew);
  79. Object vo = objectMapper.readValue(json, cls);
  80. return vo;
  81. } catch (Exception e) {
  82. throw new Exception(e.getMessage());
  83. }
  84. }
  85. }

Jackson的Json转换的更多相关文章

  1. 【Json】Jackson将json转换成泛型List

    Jackson将json转换成泛型List 获取泛型类型 /** * 获取泛型类型 * * @return */ protected Class<T> getGenericsType() ...

  2. Spring学习---Spring中利用jackson进行JSON转换

    Spring中利用jackson进行JSON转换 import java.util.List; import com.fasterxml.jackson.core.JsonProcessingExce ...

  3. Jackson框架,json转换

    Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在线博文:http://www.cnblo ...

  4. jackson实现json转换

    第一步.导包.导入jar包或者在maven项目中导入坐标(jackson-annotations:jackson-core:jackson-databind) 第二步.通过无参构造创建核心类Objec ...

  5. jackson把json转换成LIst

    把json数据转换成list ObjectMapper mapper = new ObjectMapper();  List<YeWuLuYou> readValue = mapper.r ...

  6. 我的Android进阶之旅------>解决Jackson等第三方转换Json的开发包在开启混淆后转换的实体类数据都是null的bug

    1.错误描述 今天测试人员提了一个bug,说使用我们的app出现了闪退的bug,后来通过debug断点调试,发现我们的app转换服务器发送过来的json数据后,都是为null.而之前已经提测快一个月的 ...

  7. jackson 进行json与java对象转换 之三

    2.测试类,没用Junit,用Main()方法输出. package test; import java.io.IOException; import java.util.ArrayList; imp ...

  8. 使用jackson进行json数据格式转换

    private static final JsonFactory factory = new JsonFactory(); StringWriter jsonOut = new StringWrite ...

  9. Java下利用Jackson进行JSON解析和序列化

    Java下利用Jackson进行JSON解析和序列化   Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行 ...

随机推荐

  1. 设计模式13---设计模式之观察者模式(Observer)(行为型)

    1.场景模式抽象 订阅报纸的过程,如果报纸来了的时间不确定,那么订报纸的人如何知道呢?可以抽象为:当一个对象的状态发生改变的时候,如何让依赖他的所有对象得到通知,并进行相应的处理呢?生活中最常见的例子 ...

  2. [置顶] 【cocos2d-x入门实战】微信飞机大战之十二:分数的本地存储

    转载请表明地址:http://blog.csdn.net/jackystudio/article/details/12036237 作为一个单机游戏,连分数存储的的功能都没有,让它怎么在单机游戏圈里混 ...

  3. 用户向导页面实现左右滑动的ImageSwitcher

    当你第一次打开app时刻,通常有使用向导现在演示APK基本功能和用法,该向导是非常重要的,用户可以知道并调整到速度app如何. 实现此使用向导有非常多种方法,比方用ImageSwitcher.View ...

  4. js获取某个标签中的信息

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  5. java.util.concurrent.ExecutionException

    java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com ...

  6. 如何利用 Bootstrap 进行快速 Web 开发

    原文出处: IBM developerworks 了解如何使用 Bootstrap 快速开发网站和 Web 应用程序(包括移动友好型应用程序).Bootstrap 以 LESS 项目为基础,由 Twi ...

  7. Android SDK代理服务器解决国内不能更新下载问题(转)

    言:Android SDK代理服务器解决国内Android SDK不能更新下载问题,经常会遇到Fitch fail URL错误,要不就是Nothing was installed.目下Google遭受 ...

  8. jetty 8.1.8 PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required

    应该是jdk和jre配置问题,建议看看这个博客:http://blog.csdn.net/nba_2011/article/details/7219750里边查看配置方法很清楚

  9. 火狐浏览器,hostadmin hosts文件访问权限不足

    开始->附件->以管理员身份运行. cacls %windir%\system32\drivers\etc\hosts /E /G Users:W

  10. [Head First Python]5. 推导数据:处理数据

    读取4个文件内容,格式化数据,升序,显示每个文件前3个数据 julie.txt 2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21 james.txt 2-34, ...