阿里fastjson工具类
package com.common.utils.jsonUtils; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature; import java.io.Serializable;
import java.util.List;
import java.util.Map; /**
* 阿里fastjson
*
* @author nachuan
* @create 2019-04-28 18:10
*/
public class MyFastJsonUtils extends JSON implements Serializable { private static final SerializeConfig config;
static {
config = new SerializeConfig();
// 使用和json-lib兼容的日期输出格式
config.put(java.util.Date.class, new JSONLibDataFormatSerializer());
// 使用和json-lib兼容的日期输出格式
config.put(java.sql.Date.class, new JSONLibDataFormatSerializer()); } /**
* 输出空置字段
*/
private static final SerializerFeature[] features = {SerializerFeature.WriteMapNullValue,
// list字段如果为null,输出为[],而不是null
SerializerFeature.WriteNullListAsEmpty,
// 数值字段如果为null,输出为0,而不是null
// SerializerFeature.WriteNullNumberAsZero,
// Boolean字段如果为null,输出为false,而不是null
SerializerFeature.WriteNullBooleanAsFalse,
// 字符类型字段如果为null,输出为"",而不是null
SerializerFeature.WriteNullStringAsEmpty
}; public static JSONObject getFson(){
return new JSONObject();
} public static JSONArray getFsonArray(){
return new JSONArray();
} /**
* 类转json字符串 时间复杂化处理,并且会打印空属性
* @param object
* @return
*/
public static String objToJsonStrWithCF(Object object) {
return JSON.toJSONString(object, config, features);
}
/**
* 类转json字符串 时间复杂化处理,空属性不会打印 "time":1556449527766,"minutes":5,"seconds":27,"hours":19,"month":3,"year":119,"timezoneOffset":-480,"day":0,"date":28
* @param object
* @return
*/
public static String objToJsonStrWithC(Object object) {
return JSON.toJSONString(object, config);
} /**
* 类转json字符串 会打印对象中所有的属性,没值的直接为空
* @param object
* @return
*/
public static String objToJsonStrWithF(Object object) {
return JSON.toJSONString(object);
}
/**
* 推荐使用
* 类转json字符串 只打印对象中有值的,没有值的不打印
* @param object
* @return
*/
public static String obj2JsonStr(Object object) {
ParserConfig.getGlobalInstance().setAsmEnable(false); return JSON.toJSONString(object,features);
} /**
* json字符串转为object类
* @param text
* @return
*/
public static Object strToBean(String text) {
return JSON.parse(text);
} /**
* json字符串转bean
* @param text
* @param clazz
* @param <T>
* @return
*/
public static <T> T strToBean(String text, Class<T> clazz) {
return JSON.parseObject(text, clazz);
} /**
* json字符串转为数组
* @param text
* @param <T>
* @return
*/
public static <T> Object[] strToArray(String text) {
return strToArray(text, null);
} /**
* json字符串转为对象数组
* @param text
* @param clazz
* @param <T>
* @return
*/
public static <T> Object[] strToArray(String text, Class<T> clazz) {
return JSON.parseArray(text, clazz).toArray();
} /**
* json字符串转为 对象集合
* @param text
* @param clazz
* @param <T>
* @return
*/
public static <T> List<T> strToList(String text, Class<T> clazz) {
return JSON.parseArray(text, clazz);
} /**
* 将string转化为序列化的json字符串
* @return
*/
public static Object strToJson(String str) {
Object objectJson = JSON.parse(str);
return objectJson;
} /**
* json字符串转化为map
* @param str
* @return
*/
public static <K, V> Map<K, V> strToMap(String str) {
Map<K, V> m = (Map<K, V>) JSONObject.parseObject(str);
return m;
} /**
* 转换JSON字符串为对象
* @param str
* @param clazz
* @return
*/
public static Object strToObject(String str, Class<?> clazz) {
return JSONObject.parseObject(str, clazz);
} /**
* 将map转化为string
* @param map
* @return
*/
public static <K, V> String mapToStr(Map<K, V> map) {
String s = JSONObject.toJSONString(map);
return s;
} }
本文链接:https://blog.csdn.net/weixin_39530695/article/details/96588337
阿里fastjson工具类的更多相关文章
- Gson/Jackson/FastJson工具类
import java.util.ArrayList; import java.util.List; import java.util.Map; import com.google.gson.Gson ...
- fastJson工具类
jar:fast.jar 依赖: <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId&g ...
- 工具类-Fastjson入门使用
简介 什么是Fastjson? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到Java ...
- FastJsonUtils工具类
fastjson是由alibaba开源的一套json处理器.与其他json处理器(如Gson,Jackson等)和其他的Java对象序列化反序列化方式相比,有比较明显的性能优势. 版权声明:本文为博主 ...
- Java常用工具类---image图片处理工具类、Json工具类
package com.jarvis.base.util; import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStre ...
- Json转换工具类(基于google的Gson和阿里的fastjson)
在项目之中我们经常会涉及到字符串和各种对象的转换,为此特地整理了一下常用的转换方法 一.基于com.google.code.gson封装的json转换工具类 1. 在pom.xml文件里面引入gson ...
- 阿里云OSS工具类
[前言] 我们上家公司的存储系统用的是FastDFS(智能一代云平台(二十八):对前后端分离和FastDFS的使用的再理解):现在在职的公司用的是阿里云的OSS(OSS的官方文档),在工作的时候整理一 ...
- Redis在JAVA中的运用(工具类)
最近项目需要用redis在中间做缓存所以写了一个工具类作为练习用 redis版本:redis_version:3.0.504 用到阿里的解析JSON的库:fastjson import org.apa ...
- JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码
本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍) ...
随机推荐
- HDU - 5706 - Girlcat - 简单搜索 - 新手都可以看懂的详解
原题链接: 大致题意:给你一个二维字符串,可以看成图:再给两个子串“girl”和“cat”,求图中任意起点开始的不间断连接起来的字母构成的两个子串的分别的个数:连接的方向只有不间断的上下左右. 搜索函 ...
- python常用内置方法
常用内建函数# 如何在遍历一个列表的同时获取当前下标? # 普通人的做法 list = [1, 2, 3, 4, 5, 6] index = 0 for i in list: print('下标%s' ...
- 企业级本地yum源配置方案详解
因目前企业生产网络禁止联网,对于使用Linux的我们来说,非常不方便,想要使用yum源都很困难,挂dvd又不能完全满足要求,所以自建一个企业级的yum源,定时从公网同步到本地,然后生产网络直接配置在本 ...
- ElementUI2.0组件库el-table表格组件如何自定义表头?
效果图: npm run dev 编译项目之后,报错,要使用jsx语法需要先安装编译插件 1.安装下列安装包 npm install babel-plugin-syntax-jsx --save-de ...
- hibernate meger
转: 在Hibernate中,有save.persist.savaOrUpdate.merge等方法有插入数据的功能.前三者理解起来较后者容易一些,merge方法从api中的介绍就看以看出它是最复杂的 ...
- 进程与线程与GIL的总结
- JavaScript-日常代码-时间
取得今天0点: var start = new Date(new Date(new Date().toLocaleDateString()).getTime()); console.log(start ...
- hadoop各版本下载地址
http://mirror.bit.edu.cn/apache/hadoop/common/
- JQuery制作网页——表单验证
1. 表单验证:减轻服务器的压力.保证输入的数据符合要求: 2. 常用的表单验证:日期格式.表单元素是否为空.用户名和密码.E-mail地址.身份证号码等: 3. 表单验证的思路: 1. ...
- luogu 4587
假设当前已经组合好了 $[1, x]$ ,设 $ans = x + 1$ :显然初始时 $x = 0, ans = 1$ 我们另 $y = \sum_{i = l} ^ {r} (w_i <= ...