1. package com.liveyc.restfull.until;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Iterator;
  5. import java.util.List;
  6.  
  7. import org.apache.commons.logging.Log;
  8. import org.apache.commons.logging.LogFactory;
  9. import org.codehaus.jackson.map.ObjectMapper;
  10. import org.codehaus.jackson.type.JavaType;
  11.  
  12. import net.sf.json.JSONArray;
  13. import net.sf.json.JSONObject;
  14.  
  15. public class JsonTools {
  16.  
  17. public static Log log = LogFactory.getLog(JsonTools.class);
  18.  
  19. private static ObjectMapper objectMapper = new ObjectMapper();
  20. /**
  21. *
  22. * @author JSON工具类
  23. * @param
  24. *
  25. */
  26.  
  27. /***
  28. * 将对象序列化为JSON文本
  29. * @param object
  30. * @return
  31. */
  32. public static String toJSONString(Object object)
  33. {
  34. JSONArray jsonArray = JSONArray.fromObject(object);
  35.  
  36. return jsonArray.toString();
  37. }
  38.  
  39. /***
  40. * 将JSON对象序列化为JSON文本
  41. * @param jsonObject
  42. * @return
  43. */
  44. public static String toObjString(Object object)
  45. {
  46. JSONObject jsonObject = JSONObject.fromObject(object);
  47. return jsonObject.toString();
  48. }
  49.  
  50. /***
  51. * 将对象转换为JSON对象数组
  52. * @param object
  53. * @return
  54. */
  55. public static JSONArray toJSONArray(Object object)
  56. {
  57. return JSONArray.fromObject(object);
  58. }
  59.  
  60. /***
  61. * 将对象转换为JSON对象
  62. * @param object
  63. * @return
  64. */
  65. public static JSONObject toJSONObject(Object object)
  66. {
  67. return JSONObject.fromObject(object);
  68. }
  69.  
  70. /***
  71. * 将对象转换为HashMap
  72. * @param object
  73. * @return
  74. */
  75. public static HashMap toHashMap(Object object)
  76. {
  77. HashMap<String, Object> data = new HashMap<String, Object>();
  78. JSONObject jsonObject = JsonTools.toJSONObject(object);
  79. Iterator it = jsonObject.keys();
  80. while (it.hasNext())
  81. {
  82. String key = String.valueOf(it.next());
  83. Object value = jsonObject.get(key);
  84. data.put(key, value);
  85. }
  86.  
  87. return data;
  88. }
  89.  
  90. public static <T> T json2Bean(String json, Class<T> beanClass) {
  91. try {
  92. return objectMapper.readValue(json, beanClass);
  93. } catch (Exception e) {
  94. log.error(e);
  95. new Exception("解析参数出错");
  96. }
  97. return null;
  98. }
  99.  
  100. public static <T> List<T> json2List(String json, Class<T> beanClass) {
  101. try {
  102. return (List<T>)objectMapper.readValue(json, getCollectionType(List.class, beanClass));
  103. } catch (Exception e) {
  104. e.printStackTrace();
  105. }
  106. return null;
  107. }
  108.  
  109. public static String getJsonFromObject(Object obj) {
  110. try {
  111. return objectMapper.writeValueAsString(obj);
  112. } catch (Exception e) {
  113. e.printStackTrace();
  114. }
  115. return null;
  116. }
  117.  
  118. public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {
  119. return objectMapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);
  120. }
  121. }

json格式的一些常用操作方法的更多相关文章

  1. plist文件、NSUserDefault 对文件进行存储的类、json格式解析

    ========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...

  2. 如何识别一个字符串是否Json格式

    前言: 距离上一篇文章,又过去一个多月了,近些时间,工作依旧很忙碌,除了管理方面的事,代码方面主要折腾三个事: 1:开发框架(一整套基于配置型的开发体系框架) 2:CYQ.Data 数据层框架(持续的 ...

  3. php json 格式控制

    本文同步至我的个人博客:http://www.52cik.com/2015/12/23/php-json-format.html 关于 json 这个问题,陆陆续续有新手朋友找我问,比如为什么我输出的 ...

  4. pyhton读取json格式的气象数据

    原文关于读取pm25.in气象数据的pyhton方法,以及浅析python json的应用 以pm25.in网站数据为例. 1.方法介绍 首先感谢pm25.in提供了优质的空气污染数据,为他们的辛勤劳 ...

  5. python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换

    python进程中的实例和json格式的字符串之间的映射关系是非常直接的,相当于同一个概念被编码成不同的表示: stream in json form ----json.loads(str)----- ...

  6. Android读取JSON格式数据

    Android读取JSON格式数据 1. 何为JSON? JSON,全称为JavaScript Object Notation,意为JavaScript对象表示法. JSON 是轻量级的文本数据交换格 ...

  7. 处理JSON格式的数据

    JSON格式的数据是最常用的数据格式,处理方法的选择就显得比较重要了.我常用的一种是用对象来接收,然后保存在数组中,需要时直接从数组中取值.下面列出一个小例子. .h文件中: #import < ...

  8. 使用CJSON库实现XML与JSON格式的相互转化

    之前完成了一个两个平台对接的项目.由于这两个平台一个是使用json格式的数据,一个是使用xml格式的数据,要实现它们二者的对接就涉及到这两个数据格式的转化,在查阅相关资料的时候发现了这个CJSON库, ...

  9. 后端返回值以json的格式返回,前端以json格式接收

    以随便一个类为例子:这个例子是查询企业主营类别前5事项 一.以json数组的格式返回到前端中 (1)后端将结果绑定到param中,然后将结果以为json数组的格式返回到前端 /** * 查询企业主营类 ...

随机推荐

  1. oracle 行转列和列转行

    WITH L AS ( ), m AS ( SELECT A.LV AS LV_A, B.LV AS LV_B, TO_CHAR(B.LV) || 'x' || TO_CHAR(A.LV) || '= ...

  2. tomcat下部署了多个项目启动报错java web error:Choose unique values for the 'webAppRootKey' context-param in your web.xml files

    应该是tomcat下部署了多个项目且都使用log4j. <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root". ...

  3. PHP 操作redis 详细讲解 转的 http://www.cnblogs.com/jackluo/p/3412670.html

    phpredis是redis的php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有用;以下是redis官方提供的命令使用技巧: 下载地址如下: https://github. ...

  4. Building microservices with ASP.NET Core (without MVC)(转)

    There are several reasons why it makes sense to build super-lightweight HTTP services (or, despite a ...

  5. Java实现Websocket

    Websocket介绍 在一个 WebSocket应用中, 服务器发布一个 WebSocket端点, 客户端使用这个端点的URI来连接服务器.建立连接之后,websocket协议是对称的;客户端和服务 ...

  6. Django 2.0 学习(14):Django ORM 数据库操作(上)

    Django ORM 数据库操作(上) ORM介绍 映射关系: 数据库表名 ---------->类名:数据库字段 ---------->类属性:数据库表一行数据 ----------&g ...

  7. Codeforces709

    A Kolya is going to make fresh orange juice. He has n oranges of sizes a1, a2, ..., an. Kolya will p ...

  8. Sort Integers II

    Given an integer array, sort it in ascending order. Use quick sort, merge sort, heap sort or any O(n ...

  9. BZOJ2212 [Poi2011]Tree Rotations 【线段树合并】

    题目链接 BZOJ2212 题解 一棵子树内的顺序不影响其与其它子树合并时的答案,这一点与归并排序的思想非常相似 所以我们只需单独处理每个节点的两棵子树所产生的最少逆序对即可 只有两种情况,要么正序要 ...

  10. hadoop(四)HDFS的核心设计

    一.hadoop心跳机制(heartbeat) 1. Hadoop 是 Master/Slave 结构, Master 中有 NameNode 和 ResourceManager, Slave 中有  ...