- 浏览: 926858 次
- 性别:
- 来自: 成都
文章分类
最新评论
import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.math.BigInteger; import java.util.List; import java.util.Map; import java.util.Set; public class JsonUtils { /** Commons Logging instance. */ private static org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(JsonUtils.class); /** * @param obj 任意对象 * @return String */ public static String object2json(Object obj) { StringBuilder json = new StringBuilder(); if (obj == null) { json.append("\"\""); } else if (obj instanceof String || obj instanceof Integer || obj instanceof Float || obj instanceof Boolean || obj instanceof Short || obj instanceof Double || obj instanceof Long || obj instanceof BigDecimal || obj instanceof BigInteger || obj instanceof Byte) { json.append("\"").append(string2json(obj.toString())).append("\""); } else if (obj instanceof Object[]) { json.append(array2json((Object[]) obj)); } else if (obj instanceof List) { json.append(list2json((List<?>) obj)); } else if (obj instanceof Map) { json.append(map2json((Map<?, ?>) obj)); } else if (obj instanceof Set) { json.append(set2json((Set<?>) obj)); } else { json.append(bean2json(obj)); } return json.toString(); } /** * @param bean bean对象 * @return String */ public static String bean2json(Object bean) { StringBuilder json = new StringBuilder(); json.append("{"); PropertyDescriptor[] props = null; try { props = Introspector.getBeanInfo (bean.getClass(), Object.class).getPropertyDescriptors(); } catch (IntrospectionException e) { e.printStackTrace(); } if (props != null) { for (int i = 0; i < props.length; i++) { try { String name = object2json(props[i].getName()); String value = object2json(props[i].getReadMethod().invoke(bean)); json.append(name); json.append(":"); json.append(value); json.append(","); } catch (Exception e) { e.printStackTrace(); } } json.setCharAt(json.length() - 1, '}'); } else { json.append("}"); } return json.toString(); } /** * @param list list对象 * @return String */ public static String list2json(List<?> list) { StringBuilder json = new StringBuilder(); json.append("["); if (list != null && list.size() > 0) { for (Object obj : list) { json.append(object2json(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } return json.toString(); } /** * @param array 对象数组 * @return String */ public static String array2json(Object[] array) { StringBuilder json = new StringBuilder(); json.append("["); if (array != null && array.length > 0) { for (Object obj : array) { json.append(object2json(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } return json.toString(); } /** * @param map map对象 * @return String */ public static String map2json(Map<?, ?> map) { StringBuilder json = new StringBuilder(); json.append("{"); if (map != null && map.size() > 0) { for (Object key : map.keySet()) { json.append(object2json(key)); json.append(":"); json.append(object2json(map.get(key))); json.append(","); } json.setCharAt(json.length() - 1, '}'); } else { json.append("}"); } return json.toString(); } /** * @param set 集合对象 * @return String */ public static String set2json(Set<?> set) { StringBuilder json = new StringBuilder(); json.append("["); if (set != null && set.size() > 0) { for (Object obj : set) { json.append(object2json(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } return json.toString(); } /** * @param s 参数 * @return String */ public static String string2json(String s) { if (null == s){ return ""; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { char ch = s.charAt(i); switch (ch) { case '"': sb.append("\\\""); break; case '\\': sb.append("\\\\"); break; case '\b': sb.append("\\b"); break; case '\f': sb.append("\\f"); break; case '\n': sb.append("\\n"); break; case '\r': sb.append("\\r"); break; case '\t': sb.append("\\t"); break; case '/': sb.append("\\/"); break; default: if (ch >= '\u0000' && ch <= '\u001F') { String ss = Integer.toHexString(ch); sb.append("\\u"); for (int k = 0; k < 4 - ss.length(); k++) { sb.append('0'); } sb.append(ss.toUpperCase()); } else { sb.append(ch); } } } return sb.toString(); } }
发表评论
-
object references an unsaved transient instance
2017-08-08 14:38 1743org.hibernate.TransientObject ... -
Jave获取当前日期的上一个月最后一天或者下一个月最后一天
2017-02-08 09:58 1268public final static Date addMo ... -
valid date
2017-02-04 16:37 891public final static boolea ... -
Row was updated or deleted by another transaction (or unsaved-value mapping was
2017-02-04 11:41 2503org.hibernate.StaleObjectState ... -
hibernate hql return object or list 指定类型
2017-01-25 17:58 844java.lang.ClassCastException: ... -
解决Maven/Ant中OutOfMemory错误
2017-01-12 11:06 816当Maven项目很大,或者你运行诸如 mvn site 这样 ... -
Row was updated or deleted by another transaction (or unsaved-value mapping was
2016-03-31 16:15 1046Row was updated or deleted by ... -
identifier of an instance of ……was alter from 2 to null
2016-03-29 09:32 1598Undefined Error: org.hibernate ... -
Caused by: org.hibernate.AssertionFailure: collection owner not associated with
2016-01-13 16:49 1454Caused by: org.hibernate.Asser ... -
遍历Set集合remove掉不需要的数据,List不能在遍历的时候remove
2015-12-29 15:33 2468for(Iterator<IAddress> ... -
oracle查询约束
2015-12-28 14:45 1336查询约束类型 select distinct constr ... -
should be mapped with insert="false" update="false"
2015-04-22 16:23 1332Caused by: org.hibernate.Mappi ... -
org.hibernate.PropertyAccessException: IllegalArgumentException occurred
2015-04-16 17:42 922org.hibernate.PropertyAccessEx ... -
no persistent classes found for query class
2015-04-13 16:54 1661no persistent classes found fo ... -
hql unexpected token: exchange
2015-03-13 10:12 1271ORB.thread.pool : 0line 1:1 ... -
从一个英文字符串中找出每个单词出现的频率
2015-03-06 14:56 1448import java.util.*; publi ... -
Caused by: java.io.IOException: Mismatched serialization UIDs
2015-02-04 10:51 1374Caused by: java.io.IOException ... -
Hibernate :Found shared references to a collection
2014-12-16 11:13 1062项目中在session.flush(); 抛了异常 遇到这 ... -
HibernateException: Illegal attempt to associate a collection with two open sess
2014-12-09 13:56 700项目中遇到这个 HibernateException: Il ... -
获取Float整型数据如何去掉小数点后面的小数点及0
2014-11-12 10:56 3544float a = 12345; System.out.p ...
相关推荐
JSONUtils工具类
【IT专家】在JAVA中封装JSONUtils工具类及使用 (转).docx【IT专家】在JAVA中封装JSONUtils工具类及使用 (转).docx
JsonUtils 使用JsonUtils工具类可以实现java对象和jason之间的相互转换, 提供了三个方法objectYoJson, jsonToPojo, jsonToList
NULL 博文链接:https://fanshuyao.iteye.com/blog/2425821
json数据处理类 将List对象序列化为JSON文本 将对象序列化为JSON文本 将JSON对象数组序列化为JSON文本 将对象转换为List对象 将对象转换为Collection对象 将对象转换为JSON对象数组 将对象转换为JSON对象 将对象...
Gson工具类JsonUtils 将java对象装换为json,支持泛型和任意类型
JsonUtils(Json转换工具类)
json2bean json2xml json2list json2map
JSONUtils工具类,可用于方便的向Json中读取和写入相关类型数据,如: String getString(JSONObject jsonObject, String key, String defaultValue) 得到string类型value String getString(String jsonData, ...
JSONUtils工具类,可用于方便的向Json中读取和写入相关类型数据,如: String getString(JSONObject jsonObject, String key, String defaultValue) 得到string类型value String getString(String jsonData, String ...
很好用的JSON转换工具类 1、将对象转换成json字符串 2、将json结果集转化为对象 3、将json数据转换成pojo对象list
Class类工具 \Cookie工具类 \excel读取 工具类\Java如何生成验证码图片和点击刷新验证码\java获取当前月第一天和最后一天,上个月第一天和最后一天\java实现ftp文件的上传与下载\Json工具类 - JsonUtils.java\JS...
工具类CookieUtils、IdWorker、JsonUtils、NumberUtils Java工具类
D:\002 我的工具类\014 json\JsonUtils.java D:\002 我的工具类\015 cookie D:\002 我的工具类\015 cookie\CookieUtils.java D:\002 我的工具类\016 FtpUtil D:\002 我的工具类\016 FtpUtil\FtpUtil.java D:\002 我...
json-utils Json工具类,包含Gson,FastJson,Jackson三个库的工具类,其中Jackson支持Scala版本Maven依赖: < dependencies>< dependency> < groupId>...
province:北京 --cityName:朝阳区 ----countyName:三环以内 ----countyName:三环到四环之间 ----countyName:四环到五环之间 ----countyName:五环到六环之间 ...里面还包含:jsonUtils工具类,Nettool工具类
province:北京 --cityName:朝阳区 ----countyName:三环以内 ----countyName:三环到四环之间 ----countyName:四环到五环之间 ----countyName:五环到六环之间 ...里面包含了jsonutils工具类 地区json NetTool类
EhCacheUtils - 基于ehcache的工具类 LruCacheUtils - 基于LinkedHashMap实现LRU缓存的工具类 MemcachedUtils - 基于memcached的工具类 RedisUtils - 基于redis的工具类,与redis的集群配置无缝结合 db JdbcUtils ...
java的一些很实用的工具类:CookieUtils.java,EasyUIResult.java,IDUtils.java,JsonUtils.java,FtpUtil.java等等