1. package com.nxhfzx.gdshopping.utils;
  2.  
  3. import java.util.List;
  4.  
  5. import com.fasterxml.jackson.core.JsonProcessingException;
  6. import com.fasterxml.jackson.databind.JavaType;
  7. import com.fasterxml.jackson.databind.ObjectMapper;
  8.  
  9. /**
  10. *
  11. * @Title: JsonUtils.java
  12. * @Package com.lee.utils
  13. * @Description: 自定义响应结构, 转换类
  14. * Copyright: Copyright (c) 2016
  15. * Company:Nathan.Lee.Salvatore
  16. *
  17. * @author leechenxiang
  18. * @date 2016年4月29日 下午11:05:03
  19. * @version V1.0
  20. */
  21. public class JsonUtils {
  22.  
  23. // 定义jackson对象
  24. private static final ObjectMapper MAPPER = new ObjectMapper();
  25.  
  26. /**
  27. * 将对象转换成json字符串。
  28. * <p>Title: pojoToJson</p>
  29. * <p>Description: </p>
  30. * @param data
  31. * @return
  32. */
  33. public static String objectToJson(Object data) {
  34. try {
  35. String string = MAPPER.writeValueAsString(data);
  36. return string;
  37. } catch (JsonProcessingException e) {
  38. e.printStackTrace();
  39. }
  40. return null;
  41. }
  42.  
  43. /**
  44. * 将json结果集转化为对象
  45. *
  46. * @param jsonData json数据
  47. * @param clazz 对象中的object类型
  48. * @return
  49. */
  50. public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
  51. try {
  52. T t = MAPPER.readValue(jsonData, beanType);
  53. return t;
  54. } catch (Exception e) {
  55. e.printStackTrace();
  56. }
  57. return null;
  58. }
  59.  
  60. /**
  61. * 将json数据转换成pojo对象list
  62. * <p>Title: jsonToList</p>
  63. * <p>Description: </p>
  64. * @param jsonData
  65. * @param beanType
  66. * @return
  67. */
  68. public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {
  69. JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
  70. try {
  71. List<T> list = MAPPER.readValue(jsonData, javaType);
  72. return list;
  73. } catch (Exception e) {
  74. e.printStackTrace();
  75. }
  76.  
  77. return null;
  78. }
  79.  
  80. }

Java好的的工具类:JsonUtils的更多相关文章

  1. 在JAVA中封装JSONUtil工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  2. Rhino+envjs-1.2.js 在java运行网站js 工具类

    java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...

  3. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  4. Java学习-041-颜色工具类(RGB,HEX)

    在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...

  5. JAVA自动生成正则表达式工具类

    经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...

  6. java 二进制数字符串转换工具类

    java 二进制数字符串转换工具类 将二进制转换成八进制 将二进制转换成十进制 将二进制转换成十六进制 将十进制转换成二进制 package com.iteye.injavawetrust.ad; i ...

  7. Java学习-049-正则工具类

    自去年九月份决定再次入学和职业资格进阶,开始备战二者考试至今,以及当下进行中的职称申请,犹如孤独的狼,不断前行在路上,而今凡凡总总的已历8月... 不感慨了,如下为一园友需要的正则工具类,直接上码: ...

  8. Java 后台验证的工具类

    Java 后台验证的工具类 public class ValidationUtil {         //手机号     public static String mobile = "^( ...

  9. java后端时间处理工具类,返回 "XXX 前" 的字符串

    转自:https://www.cnblogs.com/devise/p/9974672.html 我们经常会遇到显示 "某个之间之前" 的需求(比如各种社交软件,在回复消息时,显示 ...

随机推荐

  1. SQL Server Service Broker 示例(转)

    1.定义数据类型.协议和服务(发送服务和接收服务) USE master; GO ALTER DATABASE 目标数据库 SET ENABLE_BROKER; GO -- 如果上面的操作执行后,长时 ...

  2. C++ 状态机接口

    最近的状态极差,甚至代码也写不下去了.给自己手臂上的两刀没有任何的作用,看来早已经是麻痹了. 一直想弄一个勉强能用的状态机,用于在各种涉及到状态转换的时候用到,然而脑子并不是太清醒. 先放在这里一个接 ...

  3. QQ浏览器中时区bug

    在QQ浏览器 4.4.119.400 版本中,通过new Date('2018-11-11').getTime(); 获取的时间不是东8区的时间戳,而是0时区的时间戳,这就导致了获取的时间与实际的时间 ...

  4. nvm 知识点

    事项 作用 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash 安装nvm comm ...

  5. 15.1 打开文件时的提示(不是dos格式)去掉头文件

    1.用ultraedit打开文件时,总提示不是DOS格式 2.把这个取消.dos格式只是用来在unix下读写内容的,此功能禁用即可.

  6. jupyter notebook快捷键使用指南

    Jupyter Notebook 是一个交互式笔记本程序, 其有丰富的快捷键来便捷的完成工作.Notebook 有两种键盘输入模式.即命令模式和编辑模式,这与 Vim 有些类似.在编辑模式下,可以往单 ...

  7. Struts2多文件上传原理和示例

    一.创建上传文件的页面,代码如下所示     1.Struts2也可以很方便地实现多文件上传. 在输入表单域增加多个文件域:multifileupload.jsp    <%@ page lan ...

  8. 前端-JavaScript2-5——JavaScript之运算符进阶

    运算符(Operators,也翻译为操作符),是发起运算的最简单形式. 运算符的分类见仁见智,我们的课程对运算符进行如下分类: 数学运算符(Arithmetic operators) 比较运算符(Co ...

  9. note10 元组

    元组 Tuple +元组即不可变(immutable)列表 除了可改变列表内容的方法外,其他方法均适用于元组 因此,索引.切片.len().print等均可用 但是,appeng.extend.del ...

  10. 01-使用eclipse新建一个标准的 java web项目

    1.使用eclipse创建个普通的Java SE项目  名称:CRM java web标准目录结构 crm WEB-INF classes lib web.xml 设置项目字节码输出目录