JSON工具类
import java.sql.Timestamp;
import java.util.Collection;
import java.util.Date; import org.soul.util.json.JsonDateValueProcessor;
import org.soul.util.json.JsonIgnorePropertyFilter; import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig; /**
* 依赖net.sf.json包(json-lib-2.4-jdk?.jar)
*/
public abstract class JsonUtils {
private static JsonConfig config = new JsonConfig();
private static JsonIgnorePropertyFilter ifp = new JsonIgnorePropertyFilter();
static {
config.setJsonPropertyFilter(ifp);
config.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
config.registerJsonValueProcessor(java.sql.Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
config.registerJsonValueProcessor(Timestamp.class, new JsonDateValueProcessor("yyyy-MM-dd hh:mm:ss"));
} /**
* 格式化对象成为json对象
* @param o 目标对象
* @param ignoreFields 忽略字段 如: name,value等
* @param ignoreCls 忽略指定类及超类的其所属性
* @param ignoreNull 忽略null值
* @param ignoreColl 忽略集合属性
* @return
*/
public static JSONObject fromObject(Object o,String[] ignoreFields,Class<?> ignoreCls,boolean ignoreNull,boolean ignoreColl){
ifp.setIgnoreCls(ignoreCls);
ifp.setIgnoreColl(ignoreColl);
ifp.setIgnoreNull(ignoreNull);
ifp.getFields().clear();
if(ignoreFields!=null && ignoreFields.length>0){
ifp.addFields(ignoreFields);
}
JSONObject resultJson = null;
try {
resultJson = JSONObject.fromObject(o,config);
} catch (Exception e) {
e.printStackTrace();
}
return resultJson;
} /**
* 格式化集合成为json集合对象
* @param o 目标集合
* @param ignoreFields 忽略字段 如: name,value等
* @param ignoreCls 忽略指定类及超类的其所属性
* @param ignoreNull 忽略null值
* @param ignoreColl 忽略集合属性
* @return
*/
public static JSONArray fromObject(Collection<?> o,String[] ignoreFields,Class<?> ignoreCls,boolean ignoreNull,boolean ignoreColl){
ifp.setIgnoreCls(ignoreCls);
ifp.setIgnoreColl(ignoreColl);
ifp.setIgnoreNull(ignoreNull);
ifp.getFields().clear();
if(ignoreFields!=null && ignoreFields.length>0){
ifp.addFields(ignoreFields);
}
JSONArray resultJson = null;
try {
resultJson = JSONArray.fromObject(o,config);
} catch (Exception e) {
e.printStackTrace();
}
return resultJson;
}
}
JSON工具类的更多相关文章
- 用jackson封装的JSON工具类
package hjp.smart4j.framework.util; import com.fasterxml.jackson.databind.ObjectMapper; import org.s ...
- Code片段 : .properties属性文件操作工具类 & JSON工具类
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “贵专” — 泥瓦匠 一.java.util.Properties API & 案例 j ...
- Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加
package com.aherp.framework.util; import java.lang.reflect.Array;import java.lang.reflect.Method;imp ...
- Json工具类 - JsonUtils.java
Json工具类,提供Json与对象之间的转换. 源码如下:(点击下载 - JsonUtils.java . gson-2.2.4.jar ) import java.lang.reflect.Type ...
- Java json工具类,jackson工具类,ObjectMapper工具类
Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...
- Spring统一返回Json工具类,带分页信息
前言: 项目做前后端分离时,我们会经常提供Json数据给前端,如果有一个统一的Json格式返回工具类,那么将大大提高开发效率和减低沟通成本. 此Json响应工具类,支持带分页信息,支持泛型,支持Htt ...
- 强大的Java Json工具类
转自: https://blog.csdn.net/u014676619/article/details/49624165 import java.io.BufferedReader; import ...
- HttpClientUntils工具类的使用测试及注意事项(包括我改进的工具类和Controller端的注意事项【附 Json 工具类】)
HttpClient工具类(我改过): package com.taotao.httpclient; import java.io.IOException; import java.net.URI; ...
- json工具类(三)——net包
package com.ruoyi.common.utils.json; import java.util.List; import java.util.Map; import net.sf.json ...
- JSON工具类的构建(后端版本)
前言 在前后端交互的选择上,之前一直采用的是模板引擎(因为我只负责后端). 而这次的一个算是作业吧,前后端都是我,所以就研究了一下JSON交互在java web的应用(主要是前端). 优缺点 前后端耦 ...
随机推荐
- php短信接口代码
这篇文章主要为大家详细介绍了php短信接口代码,php短信发送.php批量发送.php获取余额等代码,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内 ...
- 30分钟学玩转RabbitMQ
最近在学习RabbitMQ,在网上找了不少资料发现都特高端.动辄集群部署,分布式架构什么的,对于一个初学者实在不够友好.心想求人不如求自己,为什么不自己整理一套资料呢?于是<30分钟学玩转Rab ...
- 使用SQLQuery 在Hibernate中使用sql语句
对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.下面来描述如何使用这个API进行查询. 1.标量查询(Scalar q ...
- 【开发技术】对文件内容进行加密-java
http://hi.baidu.com/java0804ms/item/111ea834fbd4d2f596f88d5a 实现效果:对文件内容进行加密,使之直接打开成为乱码,不以明文显示 实现步骤:1 ...
- J.U.C ThreadPoolExecutor解析
Java里面线程池顶级接口是Executor,但严格意义上讲Executor并不是一个线程池,而是一个线程执行工具,真正的线程池接口是ExecutorService.关系类图如下: 首先Executo ...
- [知了堂学习笔记]_ajax的两种使用方式
一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都 ...
- 更改sql多条数据,更新替换字符串中固定的字符串
需求产生的背景: 数据库里建库时插入了字典数据,可是这个字典数据,有一些是不准确的,所以就需要把一些固定的数据查出来替换掉. 问题解决逻辑: 大体逻辑是,首先把固定需要替换的字符串提取出来,赋值给变量 ...
- redux学习日志:关于react-redux
首先先强调一句:一定要多读官方文档,而且要精读,否则你会忽略掉很多东西! 一,Provider 刚开始看的时候,大致浏览了一下,知道了这个组件是能够接收store作为它的属性,然后它里面的子组件就可以 ...
- Spring @Scheduled 在tomcat容器里面执行两次
今天在用spring里面的@Scheduled执行定时任务,但是发现到触发定时任务的时间点总会执行两次.原因是修改了tomcat conf包下面的server.xml文件导致的.配置如下: <H ...
- CentOS6.x机器安装Azure CLI2.0【2】
安装Azure CLI 2.0的前提是:机器中必须有 Python 2.7.x 或 Python 3.x.如果机器中没有其中任何一个Python版本,请及时安装 1.准备一台CentOS 6.9的机器 ...