import java.util.HashMap;import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.PropertyFilter;import com.alibaba.fastjson.serializer.SerializerFeature;

/** * Json工具 */public class FastJsonUtils {

public static final String SUCCESS_MSG = "数据加载成功"; 

private static SerializerFeature[] features = {SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullNumberAsZero, SerializerFeature.WriteNullBooleanAsFalse, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.DisableCircularReferenceDetect}; 

/** * 生成json返回结果 */ public static String resultSuccess(Integer code,String msg,Object data){ Map<String,Object> rs= new HashMap<String,Object>(); rs.put("code",code); rs.put("msg",StringUtils.isNotEmpty(msg)?msg:SUCCESS_MSG); rs.put("data", data==null ? new Object() : data); rs.put("error","");return toString(rs); }

public static String resultError(Integer code,String error,Object data){ Map<String,Object> rs= new HashMap<String,Object>(); rs.put("code",code); rs.put("data", data==null ? new Object() : data); rs.put("error",StringUtils.isNotEmpty(error)?error:"");return toString(rs); }

/** * 生成json返回结果 */ public static String resultList(Integer code,String msg,Integer pageNo,Integer pageSize,Object data){ Map<String,Object> rs= new HashMap<String,Object>(); rs.put("code",code); rs.put("msg",StringUtils.isNotEmpty(msg)?msg:SUCCESS_MSG); rs.put("data", data==null ? new Object() : data); rs.put("pageNo", pageNo == null ? 0 : pageNo); rs.put("pageSize", pageSize == null ? 10 : pageSize);return toString(rs); }

/** * 生成json返回结果 */ public static String resultFeatures(Integer code,String msg,Object data,SerializerFeature... feature){ Map<String,Object> rs= new HashMap<String,Object>(); rs.put("code",code); rs.put("msg",StringUtils.isNotEmpty(msg)?msg:SUCCESS_MSG); rs.put("data", data==null ? new Object() : data);return JSON.toJSONString(rs, feature); }

/** * 生成json返回结果 */ public static String resultDate(Integer code,String msg,Object data,String dateFormat){ Map<String,Object> rs= new HashMap<String,Object>(); rs.put("code",code); rs.put("msg",StringUtils.isNotEmpty(msg)?msg:SUCCESS_MSG); rs.put("data", data==null ? new Object() : data);return JSON.toJSONStringWithDateFormat(rs, dateFormat, features); }/** * 生成json返回结果,包含字段 */ public static String resultIncludes(Integer code,String msg,Object data,String ...properties){ Map<String,Object> rs= new HashMap<String,Object>(); rs.put("code",code); rs.put("msg",StringUtils.isNotEmpty(msg)?msg:SUCCESS_MSG); rs.put("data", data==null ? new Object() : data);return toStringIncludes(rs,properties); }

/** * 生成json返回结果,包含字段 */ public static String resultExcludes(Integer code,String msg,Object data,Class<?> type,String ...properties){ Map<String,Object> rs= new HashMap<String,Object>(); rs.put("code",code); rs.put("msg",StringUtils.isNotEmpty(msg)?msg:SUCCESS_MSG); rs.put("data", data==null ? new Object() : data);return toStringExcludes(rs,type,properties); }

/** * 生成json字符串 */ public static String toString(Object data){return JSON.toJSONString(data, features); }

/** * 生成json字符串 */ private static String toStringIncludes(Object data,String ...properties){ PropertyFilter filter = new PropertyFilter() {@Override public boolean apply(Object source, String name, Object value) {if(source.getClass() == HashMap.class && ("code".equals(name) || "data".equals(name) || "msg".equals(name))){return true; }for(String pro : properties){if(pro.equals(name)){return true; } }return false; } };return JSON.toJSONString(data, filter, features);  }

/** * 排除字段 * @param args */ private static String toStringExcludes(Object data,Class<?> type,String ...properties){ PropertyFilter filter = new PropertyFilter() {@Override public boolean apply(Object source, String name, Object value) {if(source.getClass() == type){for(String pro : properties){if(pro.equals(name)){return false; } } }return true; } };return JSON.toJSONString(data, filter, features);  }

}

转载于:https://www.cnblogs.com/jvhuaxia/p/11142412.html

FastJsonUtils 需要fastjson相关推荐

  1. fastJson工具类

    功能: json<-->obj json<-->map map<-->obj json---->array(array->json,可使用obj-> ...

  2. Jackson、FastJson快速入门(整合SpringMVC)

    目录 1. 什么是 JSON 2. JSON 语法规则 3. JSON 与 JS 对象的关系 4. JSON 和 JS 对象互转 5. Jackson-数据格式转换 1. 环境搭建 2. 对象转jso ...

  3. FastJson 简单使用

    对象.List转Json User user = new User(); /*JSON 序列化,默认序列化出的JSON字符串中键值对是使用双引号,如果需要单引号的JSON字符串, [eg:String ...

  4. 42. fastjson处理下划线和驼峰问题的方法和源码分析

    一. 前言 在开发过程中经常遇到json解析和生成的问题,所以用自己也一直用fastjson来实现这个功能. 但是,最近遇到一个问题: json字符串里面的数据很多都是"_"下划线 ...

  5. fastJson结合Nutz.Mapl的进阶应用

    为什么80%的码农都做不了架构师?>>>    今天要做一堆数据的序列化, 反序列化, 序列化没问题, 反序列化却遇到了点小意外, 这一堆数据不是一个类!!!!!!当然可以通过类内部 ...

  6. 深度对比Jackson和Fastjson,最终我还是选择了...

    点击关注公众号,Java干货及时送达 来源:cnblogs.com/larva-zhh/p/11544317.html 为什么要替换fastjson 框架选型 替换fastjson Deseriali ...

  7. 真能一快遮百丑?为什么要弃坑FastJson

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 转自:咔咔侃技术链接:https://www.toutia ...

  8. fastjson 的作者,在阿里内网挨骂了?!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 | 阿里云云栖号 链接 | https://yqh.aliy ...

  9. fastjson到底做错了什么?为什么会被频繁爆出漏洞?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 fastjson大家一定都不陌生,这是阿里巴巴的开源一个JSON解 ...

最新文章

  1. 热闹的聚会与尴尬的聚会_如何增加(和保存)您最喜欢的技术聚会
  2. 18.2 keepalived介绍
  3. 超强1000个jquery极品插件!(连载中。。。。最近更新20090710)
  4. Windows 10截屏动画失效怎么恢复?
  5. 原创:QQ群发言统计
  6. Docker源码分析(五):Docker Server的创建
  7. form表单元素设置只读
  8. eclipse安装一直卡在安装中_Eclipse软件安装包+安装教程
  9. SmartUpload应用
  10. 零基础学FPGA(六):FPGA时钟架构(Xilinx为例,完整解读)
  11. 链塔智库联合清华发布《2018区块链技术应用白皮书》
  12. PPT插件(islide)
  13. 微信端H5的相关问题总结
  14. Excel数据表添加页眉页脚
  15. 华为eNSP路由器报错误代码:40,41的问题解决办法。路由器启动无限###。eNSP安装。
  16. 如何在麒麟系统上运行Vue项目
  17. 在预测中使用LSTM架构的最新5篇论文推荐
  18. 连续两届世界杯与冠军同行 网易传媒创造内容赛道卫冕传奇
  19. linux 删除u盘痕迹,删除U盘操作痕迹的完美方案
  20. XMind 8 破解注册 思维导图(亲测可用)

热门文章

  1. 判断数组中某个元素除自身外是否和其他数据不同_算法工程师要懂的3种算法数据结构:线性表详解...
  2. echat 图表动态数据生成,渲染,自定义Y轴坐标值
  3. bat 发邮件与手机交互_售价17500元!华为首款5G折叠屏手机来了,更多新机细节曝光...
  4. 下载文件的响应头设置
  5. RS232、RS485、TTL电平、CMOS电平
  6. xhtml代码 中<pre>元素简单介绍
  7. 大于2的质数判断以及范围质数查找
  8. Lua——基本语法知识,从hello word开始
  9. JUnit学习摘要+入门实例 (junit4)
  10. 查看dll文件被哪些软件调用的命令