package com.yg.fastjson.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.*;
/**
* @Author suolong
* @Date 2022/3/19 11:24
* @Version 1.5
*/
@Slf4j
public final class FastjsonUtils {
//fastjson格式转换器
private static SerializeConfig config;
static {
config = new SerializeConfig();
config.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));
}
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
};
/**
* Object TO Json String 字符串输出
*/
public static String toJSONString(Object object) {
try {
return JSON.toJSONString(object, config, features);
} catch (Exception e) {
log.error("JsonUtil | method=toJSON() | 对象转为Json字符串 Error!" + e.getMessage(), e);
}
return null;
}
/**
* Object TO Json String Json-lib兼容的日期输出格式
*/
public static String toJSONLib(Object object) {
try {
return JSON.toJSONString(object, config, features);
} catch (Exception e) {
log.error("JsonUtil | method=toJSONLib() | 对象转为Json字符串 Json-lib兼容的日期输出格式 Error!" + e.getMessage(), e);
}
return null;
}
/**
* 转换为数组 Object
*/
public static Object[] toArray(String text) {
try {
return toArray(text, null);
} catch (Exception e) {
log.error("JsonUtil | method=toArray() | 将json格式的数据转换为数组 Object Error!" + e.getMessage(), e);
}
return null;
}
/**
* 转换为数组 (可指定类型)
*/
public static <T> Object[] toArray(String text, Class<T> clazz) {
try {
return JSON.parseArray(text, clazz).toArray();
} catch (Exception e) {
log.error("JsonUtil | method=toArray() | 将json格式的数据转换为数组 (可指定类型) Error!" + e.getMessage(), e);
}
return null;
}
/**
* List转换为JSONArray
*/
public static JSONArray toJSONArray(List<?> list) {
try {
String json = toJSONString(list);
return JSONArray.parseArray(json);
} catch (Exception e) {
log.error("JsonUtil | method=toJSONArray() | 将list格式的数据转换为JSONArray Object Error!" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为String
* Json 转为 Jave Bean, 再使用Bean类型进行强转
*/
public static <T> T toBean(String text, Class<T> clazz) {
try {
return JSON.parseObject(text, clazz);
} catch (Exception e) {
log.error("JsonUtil | method=toBean() | Json 转为 Jave Bean Error!" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为JSONObject
* Json 转为 Jave Bean, 再使用Bean类型进行强转
*/
public static <T> T toBean(JSONObject text, Class<T> clazz) {
try {
String json = toJSONString(text);
return toBean(json, clazz);
} catch (Exception e) {
log.error("JsonUtil | method=toBean() | Json 转为 Jave Bean Error!" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为String
* Json 转为 Map,JSON.parseObject转换的类型为JSONObject,但是JSONObject实现了Map接口
*/
public static Map<?, ?> toMap(String json) {
try {
return JSON.parseObject(json);
} catch (Exception e) {
log.error("JsonUtil | method=toMap() | Json 转为 Map {},{}" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为JSONObject
* Json 转为 Map,JSON.parseObject转换的类型为JSONObject,但是JSONObject实现了Map接口
*/
public static Map<?, ?> toMap(JSONObject json) {
try {
return JSON.parseObject(JSON.toJSONString(json));
} catch (Exception e) {
log.error("JsonUtil | method=toMap() | Json 转为 Map {},{}" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为String
* Json 转为 Map,JSON.parseObject转换的类型为JSONObject,但是JSONObject实现了Map接口
*/
public static HashMap<?, ?> toHashMap(String json) {
try {
Map<?, ?> map = toMap(json);
return new HashMap<>(map);
} catch (Exception e) {
log.error("JsonUtil | method=toMap() | Json 转为 Map {},{}" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为JSONObject
* Json 转为 Map,JSON.parseObject转换的类型为JSONObject,但是JSONObject实现了Map接口
*/
public static HashMap<?, ?> toHashMap(JSONObject json) {
try {
Map<?, ?> map = toMap(json);
return new HashMap<>(map);
} catch (Exception e) {
log.error("JsonUtil | method=toMap() | Json 转为 Map {},{}" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为String
* Json 转 List,Class 集合中泛型的类型,非集合本身,可json-lib兼容的日期格式
*/
public static <T> List<T> toList(String text, Class<T> clazz) {
try {
return JSON.parseArray(text, clazz);
} catch (Exception e) {
log.error("JsonUtil | method=toList() | Json 转为 List {},{}" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为JSONObject
* Json 转 List,Class 集合中泛型的类型,非集合本身,可json-lib兼容的日期格式
*/
public static <T> List<T> toList(JSONArray text, Class<T> clazz) {
try {
String json = toJSONString(text);
return toList(json, clazz);
} catch (Exception e) {
log.error("JsonUtil | method=toList() | Json 转为 List {},{}" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为String
* Json 转 List,Class 集合中泛型的类型,非集合本身,可json-lib兼容的日期格式
*/
public static <T> ArrayList<T> toArrayList(String text, Class<T> clazz) {
try {
List<T> list = toList(text, clazz);
assert list != null;
return new ArrayList<>(list);
} catch (Exception e) {
log.error("JsonUtil | method=toList() | Json 转为 List {},{}" + e.getMessage(), e);
}
return null;
}
/**
* 重载类型为JSONObject,clazz为list里面的类型
* Json 转 List,Class 集合中泛型的类型,非集合本身,可json-lib兼容的日期格式
*/
public static <T> ArrayList<T> toArrayList(JSONArray text, Class<T> clazz) {
try {
List<T> list = toList(text, clazz);
assert list != null;
return new ArrayList<>(list);
} cat
没有合适的资源?快使用搜索试试~ 我知道了~
fastjson实用工具类
共87个文件
xml:70个
java:8个
gitignore:2个
需积分: 0 2 下载量 31 浏览量
2022-03-19
17:05:44
上传
评论
收藏 66KB 7Z 举报
温馨提示
fastjson实用工具类
资源详情
资源评论
资源推荐
收起资源包目录
fastjson.7z (87个子文件)
fastjson
fastjson.iml 8KB
.gitignore 395B
.mvn
wrapper
maven-wrapper.jar 57KB
maven-wrapper.properties 233B
src
main
resources
templates
static
application.properties 1B
java
com
yg
fastjson
utils
JsonUtils.java 3KB
FastjsonUtils.java 9KB
service
FastjsonTest.java 2KB
FastjsonApplication.java 324B
response
ResponseCode.java 416B
Response.java 3KB
ResultCode.java 669B
test
java
com
yg
fastjson
FastjsonApplicationTests.java 218B
HELP.md 893B
mvnw 10KB
pom.xml 2KB
mvnw.cmd 7KB
.idea
.gitignore 226B
misc.xml 454B
encodings.xml 191B
libraries
Maven__org_junit_platform_junit_platform_engine_1_8_2.xml 731B
Maven__org_apache_commons_commons_lang3_3_12_0.xml 682B
Maven__org_springframework_spring_expression_5_3_16.xml 714B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_4.xml 818B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 738B
Maven__org_springframework_spring_beans_5_3_16.xml 679B
Maven__org_skyscreamer_jsonassert_1_5_0.xml 642B
Maven__org_springframework_boot_spring_boot_starter_logging_2_6_4.xml 797B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_1.xml 841B
Maven__org_objenesis_objenesis_3_2.xml 613B
Maven__org_slf4j_jul_to_slf4j_1_7_36.xml 639B
Maven__net_bytebuddy_byte_buddy_1_11_22.xml 648B
Maven__ch_qos_logback_logback_core_1_2_10.xml 659B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_1.xml 786B
Maven__net_bytebuddy_byte_buddy_agent_1_11_22.xml 690B
Maven__org_apiguardian_apiguardian_api_1_1_2.xml 677B
Maven__org_springframework_spring_context_5_3_16.xml 693B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 716B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_58.xml 765B
Maven__org_ow2_asm_asm_9_1.xml 563B
Maven__org_assertj_assertj_core_3_21_0.xml 647B
Maven__org_apache_logging_log4j_log4j_api_2_17_1.xml 678B
Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml 707B
Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml 699B
Maven__org_slf4j_slf4j_api_1_7_36.xml 618B
Maven__org_mockito_mockito_junit_jupiter_4_0_0.xml 703B
Maven__org_springframework_spring_webmvc_5_3_16.xml 686B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 738B
Maven__org_springframework_spring_aop_5_3_16.xml 665B
Maven__org_springframework_boot_spring_boot_starter_test_2_6_4.xml 776B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_1.xml 800B
Maven__org_springframework_spring_jcl_5_3_16.xml 665B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_4.xml 790B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 805B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_58.xml 716B
Maven__org_mockito_mockito_core_4_0_0.xml 640B
Maven__org_springframework_spring_web_5_3_16.xml 665B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml 735B
Maven__org_yaml_snakeyaml_1_29.xml 600B
Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml 671B
Maven__org_springframework_spring_test_5_3_16.xml 672B
Maven__org_springframework_boot_spring_boot_test_2_6_4.xml 720B
Maven__org_xmlunit_xmlunit_core_2_8_4.xml 640B
Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml 720B
Maven__net_minidev_json_smart_2_4_8.xml 626B
Maven__org_springframework_boot_spring_boot_starter_web_2_6_4.xml 769B
Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml 720B
Maven__org_projectlombok_lombok_1_18_22.xml 636B
Maven__com_alibaba_fastjson_1_2_62.xml 619B
Maven__com_jayway_jsonpath_json_path_2_6_0.xml 651B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_4.xml 783B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml 756B
Maven__ch_qos_logback_logback_classic_1_2_10.xml 680B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_1.xml 713B
Maven__org_springframework_boot_spring_boot_2_6_4.xml 685B
Maven__org_junit_platform_junit_platform_commons_1_8_2.xml 738B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_58.xml 730B
Maven__org_springframework_boot_spring_boot_starter_2_6_4.xml 741B
Maven__org_hamcrest_hamcrest_2_2.xml 602B
Maven__org_opentest4j_opentest4j_1_2_0.xml 638B
Maven__org_springframework_boot_spring_boot_starter_json_2_6_4.xml 776B
Maven__org_springframework_spring_core_5_3_16.xml 672B
Maven__net_minidev_accessors_smart_2_4_8.xml 661B
workspace.xml 5KB
compiler.xml 879B
jarRepositories.xml 864B
modules.xml 263B
共 87 条
- 1
时间是一种解药
- 粉丝: 110
- 资源: 63
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0