- 浏览: 937344 次
- 性别:
- 来自: 成都
文章分类
最新评论
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 1795org.hibernate.TransientObject ... -
Jave获取当前日期的上一个月最后一天或者下一个月最后一天
2017-02-08 09:58 1322public final static Date addMo ... -
valid date
2017-02-04 16:37 955public final static boolea ... -
Row was updated or deleted by another transaction (or unsaved-value mapping was
2017-02-04 11:41 2606org.hibernate.StaleObjectState ... -
hibernate hql return object or list 指定类型
2017-01-25 17:58 902java.lang.ClassCastException: ... -
解决Maven/Ant中OutOfMemory错误
2017-01-12 11:06 866当Maven项目很大,或者你运行诸如 mvn site 这样 ... -
Row was updated or deleted by another transaction (or unsaved-value mapping was
2016-03-31 16:15 1119Row was updated or deleted by ... -
identifier of an instance of ……was alter from 2 to null
2016-03-29 09:32 1652Undefined Error: org.hibernate ... -
Caused by: org.hibernate.AssertionFailure: collection owner not associated with
2016-01-13 16:49 1499Caused by: org.hibernate.Asser ... -
遍历Set集合remove掉不需要的数据,List不能在遍历的时候remove
2015-12-29 15:33 2519for(Iterator<IAddress> ... -
oracle查询约束
2015-12-28 14:45 1387查询约束类型 select distinct constr ... -
should be mapped with insert="false" update="false"
2015-04-22 16:23 1381Caused by: org.hibernate.Mappi ... -
org.hibernate.PropertyAccessException: IllegalArgumentException occurred
2015-04-16 17:42 959org.hibernate.PropertyAccessEx ... -
no persistent classes found for query class
2015-04-13 16:54 1696no persistent classes found fo ... -
hql unexpected token: exchange
2015-03-13 10:12 1336ORB.thread.pool : 0line 1:1 ... -
从一个英文字符串中找出每个单词出现的频率
2015-03-06 14:56 1491import java.util.*; publi ... -
Caused by: java.io.IOException: Mismatched serialization UIDs
2015-02-04 10:51 1421Caused by: java.io.IOException ... -
Hibernate :Found shared references to a collection
2014-12-16 11:13 1105项目中在session.flush(); 抛了异常 遇到这 ... -
HibernateException: Illegal attempt to associate a collection with two open sess
2014-12-09 13:56 746项目中遇到这个 HibernateException: Il ... -
获取Float整型数据如何去掉小数点后面的小数点及0
2014-11-12 10:56 3675float a = 12345; System.out.p ...
相关推荐
JSONUtils工具类
本文将详细讲解`JsonUtils`工具类在`json-lib`中的使用方法及其相关知识点。 `JsonUtils`是`json-lib`库中的核心工具类,它提供了多种方便的方法,用于Java对象与JSON字符串之间的转换。以下是一些关键功能: 1. *...
5. **SLF4J的引用**:slf4j.7z文件可能包含了SLF4J(Simple Logging Facade for Java)的日志框架,JsonUtils工具类在运行时可能使用SLF4J进行日志记录,以便调试和追踪转换过程中的问题。例如: ```java import org...
json数据处理类 将List对象序列化为JSON文本 将对象序列化为JSON文本 将JSON对象数组序列化为JSON文本 将对象转换为List对象 将对象转换为Collection对象 将对象转换为JSON对象数组 将对象转换为JSON对象 将对象...
为了方便地处理JSON数据,开发者通常会封装一个工具类,如本例中的`JSONUtils`。这个工具类包含了一系列静态方法,帮助我们将Java对象与JSON格式之间进行转换。下面是对`JSONUtils`工具类中主要方法的详细解释: 1....
在这个场景中,我们关注的是一个名为"JsonUtils"的自定义工具类,它提供了几个便捷的方法来简化这个过程。 `JsonUtils`工具类主要包含三个方法: 1. `objectToJson`: 这个方法用于将Java对象转换成JSON格式的字符...
json-utils最新代码json-utils最新代码json-utils最新代码json-utils最新代码json-utils最新代码json-utils最新代码json-utils最新代码json-utils最新代码json-utils最新代码json-utils最新代码json-utils最新代码...
json2bean json2xml json2list json2map
JSONUtils工具类,可用于方便的向Json中读取和写入相关类型数据,如: String getString(JSONObject jsonObject, String key, String defaultValue) 得到string类型value String getString(String jsonData, ...
《JsonUtils:强大的Json转换工具类》 在Java开发中,JSON作为一种轻量级的数据交换格式,被广泛用于服务器与客户端之间的数据传输。为了方便开发者处理JSON格式的数据,出现了许多库,如Jackson、Gson、Fastjson等...
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>...
6. **JSON解析工具类(JsonUtils.java)** JSON是网络数据交换的主要格式,`JsonUtils`通常封装了Gson或Jackson库,用于将JSON字符串转换为Java对象,或者将Java对象转换为JSON字符串。这样可以方便地在Android应用...
4. **JSON解析工具类**:如`JsonUtils`,提供快速的JSON串到Java对象的映射,以及对象到JSON串的转换,通常基于Gson、Jackson或Fastjson等库。 5. **图片处理工具类**:在Android中,图片加载、裁剪、压缩是常见...
province:北京 --cityName:朝阳区 ----countyName:三环以内 ----countyName:三环到四环之间 ----countyName:四环到五环之间 ----countyName:五环到六环之间 ...里面还包含:jsonUtils工具类,Nettool工具类