json处理由fastjson换jackjson

2023-11-28 23:04
文章标签 json 处理 fastjson jackjson

本文主要是介绍json处理由fastjson换jackjson,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

fastjson没有jackjson稳定,所以换成jackjson来处理对象转json和json转对象问题。

首先下载jackjson包,三个都要引用
在这里插入图片描述

然后修改实现类

package JRT.Core.Util;import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializerProvider;import java.io.IOException;
import java.lang.reflect.Field;import static org.apache.logging.log4j.message.MapMessage.MapFormat.JSON;/*** json工具类,处理对象和json*/
public class JsonUtil {/*** Object对象转Json串** @param object* @return*/public static String Object2Json(Object object) throws Exception {ObjectMapper objectMapper = new ObjectMapper();return objectMapper.writeValueAsString(object);}/*** Object转Json串** @param object     对象* @param null2empty null值是否转空""* @return*/public static String Object2Json(Object object, boolean null2empty) throws Exception {if (!null2empty) {ObjectMapper objectMapper = new ObjectMapper();return objectMapper.writeValueAsString(object);} else {ObjectMapper objectMapper = new ObjectMapper();objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {@Overridepublic void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {jsonGenerator.writeString("");}});return objectMapper.writeValueAsString(object);}}/*** Json串转Object** @param json json串* @param c    类型* @return*/public static Object Json2Object(String json, Class c) throws Exception {if (json.isEmpty()) {return null;} else {ObjectMapper objectMapper = new ObjectMapper();objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);return objectMapper.readValue(json, c);}}/*** 克隆一个对象** @param obj 要克隆的对象* @return*/public static Object CloneObject(Object obj) throws Exception {if (obj==null) {return null;}else {ObjectMapper objectMapper = new ObjectMapper();objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);String json=Object2Json(obj);return objectMapper.readValue(json, obj.getClass());}}
}

老的fastjson的包装

package JRT.Core.Util;import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;import java.lang.reflect.Field;/*** json工具类,处理对象和json*/
public class JsonUtil
{/*** Object对象转Json串* @param object* @return*/public static String Object2Json(Object object){return JSONObject.toJSONString(object, SerializerFeature.PrettyFormat);}/*** Object转Json串* @param object 对象* @param null2empty null值是否转空""* @return*/public static String Object2Json(Object object, boolean null2empty){if (!null2empty){return JSON.toJSONString(object);}else{return JSON.toJSONString(object, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.PrettyFormat);}}/*** Json串转Object* @param json json串* @param c 类型* @return*/public static Object Json2Object(String json,Class c){if (json.isEmpty()){return null;}else{return JSON.parseObject(json,c);}}
}

以上就是fastjson换jackjson的改动

这篇关于json处理由fastjson换jackjson的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/430527

相关文章

Python字符串处理方法超全攻略

《Python字符串处理方法超全攻略》字符串可以看作多个字符的按照先后顺序组合,相当于就是序列结构,意味着可以对它进行遍历、切片,:本文主要介绍Python字符串处理方法的相关资料,文中通过代码介... 目录一、基础知识:字符串的“不可变”特性与创建方式二、常用操作:80%场景的“万能工具箱”三、格式化方法

Spring Boot 处理带文件表单的方式汇总

《SpringBoot处理带文件表单的方式汇总》本文详细介绍了六种处理文件上传的方式,包括@RequestParam、@RequestPart、@ModelAttribute、@ModelAttr... 目录方式 1:@RequestParam接收文件后端代码前端代码特点方式 2:@RequestPart接

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

requests处理token鉴权接口和jsonpath使用方式

《requests处理token鉴权接口和jsonpath使用方式》文章介绍了如何使用requests库进行token鉴权接口的处理,包括登录提取token并保存,还详述了如何使用jsonpath表达... 目录requests处理token鉴权接口和jsonpath使用json数据提取工具总结reques

C# 空值处理运算符??、?. 及其它常用符号

《C#空值处理运算符??、?.及其它常用符号》本文主要介绍了C#空值处理运算符??、?.及其它常用符号,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、核心运算符:直接解决空值问题1.??空合并运算符2.?.空条件运算符二、辅助运算符:扩展空值处理

浅析Python中如何处理Socket超时

《浅析Python中如何处理Socket超时》在网络编程中,Socket是实现网络通信的基础,本文将深入探讨Python中如何处理Socket超时,并提供完整的代码示例和最佳实践,希望对大家有所帮助... 目录开篇引言核心要点逐一深入讲解每个要点1. 设置Socket超时2. 处理超时异常3. 使用sele

SpringMVC配置、映射与参数处理​入门案例详解

《SpringMVC配置、映射与参数处理​入门案例详解》文章介绍了SpringMVC框架的基本概念和使用方法,包括如何配置和编写Controller、设置请求映射规则、使用RestFul风格、获取请求... 目录1.SpringMVC概述2.入门案例①导入相关依赖②配置web.XML③配置SpringMVC

MySQL 中的 JSON_CONTAIN用法示例详解

《MySQL中的JSON_CONTAIN用法示例详解》JSON_CONTAINS函数用于检查一个JSON文档中是否包含另一个JSON文档,这篇文章给大家介绍JSON_CONTAINS的用法、语法、... 目录深入了解 mysql 中的 jsON_CONTAINS1. JSON_CONTAINS 函数的概述2