博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON工具类
阅读量:6862 次
发布时间:2019-06-26

本文共 2753 字,大约阅读时间需要 9 分钟。

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      * @return33      */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 * @return59 */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 }

 

转载于:https://www.cnblogs.com/sun-space/p/5565464.html

你可能感兴趣的文章
Spring Boot:定制type Formatters
查看>>
ENode框架Conference案例分析系列之 - 订单处理减库存的设计
查看>>
对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀
查看>>
04.移动先行之谁主沉浮----XAML的探索
查看>>
02.移动先行之谁主沉浮----第一个通用程序
查看>>
PHP语法特点
查看>>
最详细的制作正式版10.11 OS X El Capitan 安装U盘的方法
查看>>
Java字节码浅析(二)
查看>>
java中得到classpath和当前类的绝对路径的一些方法(路径中的%20"进行替换空格)...
查看>>
在OS X上运行Docker
查看>>
C++中四种显示类型转换总结
查看>>
Disruptor 2.0更新摘要
查看>>
跟我一起ggplot2(1)
查看>>
GNU Radio内存错误shmget (0)解决办法
查看>>
频率时钟偏移模型
查看>>
JAVA加密解密之常用签名算法
查看>>
Android关于TextView 宽度过大导致Drawable无法居中问题
查看>>
innodb 的预读
查看>>
redis slaveof自己会发生什么
查看>>
php实现基本数据结构之链表
查看>>