JSON工具类

 1 import java.sql.Timestamp;
 2 import java.util.Collection;
 3 import java.util.Date;
 4
 5 import org.soul.util.json.JsonDateValueProcessor;
 6 import org.soul.util.json.JsonIgnorePropertyFilter;
 7
 8 import net.sf.json.JSONArray;
 9 import net.sf.json.JSONObject;
10 import net.sf.json.JsonConfig;
11
12 /**
13  * 依赖net.sf.json包(json-lib-2.4-jdk?.jar)
14  */
15 public abstract class JsonUtils {
16     private static JsonConfig config = new JsonConfig();
17     private static JsonIgnorePropertyFilter ifp = new JsonIgnorePropertyFilter();
18     static {
19         config.setJsonPropertyFilter(ifp);
20         config.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
21         config.registerJsonValueProcessor(java.sql.Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
22         config.registerJsonValueProcessor(Timestamp.class, new JsonDateValueProcessor("yyyy-MM-dd hh:mm:ss"));
23     }
24
25     /**
26      * 格式化对象成为json对象
27      * @param o 目标对象
28      * @param ignoreFields 忽略字段 如: name,value等
29      * @param ignoreCls 忽略指定类及超类的其所属性
30      * @param ignoreNull 忽略null值
31      * @param ignoreColl 忽略集合属性
32      * @return
33      */
34     public static JSONObject fromObject(Object o,String[] ignoreFields,Class<?> ignoreCls,boolean ignoreNull,boolean ignoreColl){
35         ifp.setIgnoreCls(ignoreCls);
36         ifp.setIgnoreColl(ignoreColl);
37         ifp.setIgnoreNull(ignoreNull);
38         ifp.getFields().clear();
39         if(ignoreFields!=null && ignoreFields.length>0){
40             ifp.addFields(ignoreFields);
41         }
42         JSONObject resultJson = null;
43         try {
44             resultJson = JSONObject.fromObject(o,config);
45         } catch (Exception e) {
46             e.printStackTrace();
47         }
48         return resultJson;
49     }
50
51     /**
52      * 格式化集合成为json集合对象
53      * @param o 目标集合
54      * @param ignoreFields 忽略字段 如: name,value等
55      * @param ignoreCls 忽略指定类及超类的其所属性
56      * @param ignoreNull 忽略null值
57      * @param ignoreColl 忽略集合属性
58      * @return
59      */
60     public static JSONArray fromObject(Collection<?> o,String[] ignoreFields,Class<?> ignoreCls,boolean ignoreNull,boolean ignoreColl){
61         ifp.setIgnoreCls(ignoreCls);
62         ifp.setIgnoreColl(ignoreColl);
63         ifp.setIgnoreNull(ignoreNull);
64         ifp.getFields().clear();
65         if(ignoreFields!=null && ignoreFields.length>0){
66             ifp.addFields(ignoreFields);
67         }
68         JSONArray resultJson = null;
69         try {
70             resultJson = JSONArray.fromObject(o,config);
71         } catch (Exception e) {
72             e.printStackTrace();
73         }
74         return resultJson;
75     }
76 }
时间: 2024-10-24 21:06:54

JSON工具类的相关文章

Code片段 : .properties属性文件操作工具类 &amp; JSON工具类

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “贵专” — 泥瓦匠 一.java.util.Properties API & 案例 java.util.Properties 是一个属性集合.常见的api有如下: load(InputStream inStream)  从输入流中读取属性 getProperty(String key)  根据key,获取属性值 getOrDefault(Object key, V defaultValue)

Json工具类 - JsonUtils.java

Json工具类,提供Json与对象之间的转换. 源码如下:(点击下载 - JsonUtils.java . gson-2.2.4.jar ) import java.lang.reflect.Type; import java.util.Map; import com.google.gson.Gson; import com.google.gson.GsonBuilder; /** * Json工具类 * */ @SuppressWarnings("unchecked") public

Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加

package com.aherp.framework.util; import java.lang.reflect.Array;import java.lang.reflect.Method;import java.util.Collection;import java.util.Iterator;import java.util.Map; import org.json.JSONArray;import org.json.JSONException;import org.json.JSONO

Java Web返回JSON工具类

Web项目中经常涉及到AJAX请求返回JSON和JSONP数据.JSON数据在服务器端和浏览器端传输,本质上就是传输字符串,不过这个字符串符合JSON语法格式.浏览器端会按照普通文本的格式接收JSON字符串,最终JSON字符串转成JSON对象通过JavaScript实现.目前部分浏览器(IE9以下浏览器没有提供)和常用的JS库都提供了JSON序列化和反序列化的方法,如jQuery的AJAX请求可以指定返回的数据格式,包括text.json.jsonp.xml.html等. Web服务器端只要把J

强大的Java Json工具类

转自: https://blog.csdn.net/u014676619/article/details/49624165 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.util.ArrayList; import java.util.Collection; import java.util.

HttpClientUntils工具类的使用及注意事项(包括我改进的工具类和Controller端的注意事项【附 Json 工具类】)

HttpClient工具类(我改过): package com.taotao.httpclient; import java.io.IOException; import java.net.URI; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.NameValuePair; import org.apache.http.client.entity.Ur

Java常用工具类---image图片处理工具类、Json工具类

package com.jarvis.base.util; import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;im

json工具类封装与解析

package com.chinatelecom.personalcustom.common.util; import java.io.IOException; import com.alibaba.fastjson.JSON; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.Obj

Object 转 json 工具类

/** * 把数据对象转换成json字符串 DTO对象形如:{"id" : idValue, "name" : nameValue, ...} * 数组对象形如:[{}, {}, {}, ...] map对象形如:{key1 : {"id" : idValue, "name" : * nameValue, ...}, key2 : {}, ...} * * @param object * @return */ public s