- 2024-11-19json解析之fastjson和jackson使用对比
json解析之fastjson和jackson使用对比前言最近项目中需要做埋点分析,首先就需要对埋点日志进行解析处理,刚好这时候体验对比了下fastjson和jackson两者使用的区别,以下分别是针对同一个json串处理,最终的效果都是将json数据解析出来,并统一展示。一、fastjson简介?fastjson是由
- 2024-11-19java中使用Jackson代替fastjson进行序列化处理
方法详解这里会列出常用方法的详解,更多方法可查阅jacksonapi文档ObjectMapper类是Jackson库的主要类。它提供一些功能将转换成Java对象匹配JSON结构对象转json字符串ObjectMapper通过writeValue系列方法将java对象序列化为json,并将json存储成不同的格式:String(writeVa
- 2024-11-19聊聊springboot项目中使用jackson的一些小技巧
前言在我们前后端联调时,很经常以json作为数据的交互格式,今天我们就来聊聊在开发springboot项目中,使用jackson进行数据渲染一些小技巧场景一:枚举-JSON互转在日常开发中我们为了避免过多的魔法值,使用枚举类来封装一些静态的状态代码。但是在将这些枚举的意思正确而全面的返回给
- 2024-11-16深入理解Jackson的@JsonCreator注解
在Java的JSON处理库中,Jackson无疑是最流行的选择之一。它提供了强大的数据绑定功能,允许开发者轻松地在Java对象和JSON数据之间进行转换。在处理不可变对象或者需要自定义反序列化逻辑时,@JsonCreator注解显得尤为重要。本文将通过实例深入探讨@JsonCreator注解的使用,包括其在
- 2024-11-15自定义注解进行数据脱敏
前言有些时候,我们可能对输出的某些字段要做特殊的处理在输出到前端,比如:身份证号,电话等信息,在前端展示的时候我们需要进行脱敏处理,这时候通过自定义注解就非常的有用了。在Jackson中要自定义注解,我们可以通过@JacksonAnnotationsInside注解来实现,如下示例:一、自定义注解import
- 2024-11-05JackSon的忽略注解
JackSon的忽略注解在本教程中,我将通过一个示例向您展示如何在使用Jackson@JsonIgnore、@JsonIgnoreProperties和@JsonIgnoreType注释将对象序列化为JSON时忽略某些字段。这些注解用于忽略JSON序列化和反序列化中的逻辑属性@JsonIgnore用于忽略序列化和反序列化中使用的
- 2024-10-20java项目篇-用户脱敏展示
用户敏感信息脱敏展示定义手机号和证件号的Jackson自定义序列化器,并在对应需要脱敏的敏感字段上指定自定义序列化器。在进行指定的需要脱敏的字段(身份证号,手机号,银行卡号等)序列化的时候,该字段自动变成脱敏json对象。1)身份证号序列化器importcn.hutool.core.util.Des
- 2024-09-27数据脱敏实现
自定义脱敏注解packagecom.huiye.core.annotations;importcom.fasterxml.jackson.annotation.JacksonAnnotationsInside;importcom.fasterxml.jackson.databind.annotation.JsonSerialize;importcom.huiye.core.enums.DesensitizedType;importjava.lang.annotation.E
- 2024-09-26jackson之枚举项的作用
MapperFeature各枚举项的作用枚举项作用ACCEPT_CASE_INSENSITIVE_ENUMS决定枚举反序列化是否忽略大小写。如果启用,枚举反序列化将忽略大小写。ACCEPT_CASE_INSENSITIVE_PROPERTIES决定属性名称反序列化是否忽略大小写。如果启用,属性名称反序列化将忽略大小写。
- 2024-09-23jackson学习之五:JsonInclude注解
本文是《jackson学习》系列第五篇,来熟悉一个常用的注解JsonInclude,该注解的仅在序列化操作时有用,用于控制方法、属性等是否应该被序列化;之所以用单独的一篇来写JsonInclude注解,是因为该注解的值有多种,每种都有不同效果,最好的学习方法就是编码实战;先对注解的所有取值做个简
- 2024-09-19fastson与jackson入门
一,简介json:JavaScriptObjectNotation,JS对象简谱。官网:JSON官网二,使用场景网络传输描述同样的信息,json相比xml占用更少的空间,<?xmlversion="1.0"encoding="uTF-8"?><person> <id>1</id> <name>张三</name> <age>30</age&
- 2024-09-19xml字符串转JSON字符串
xml字符串转JSON字符串,可以直接通过jackson提供的方法进行快速转换。在web项目中通常会引入spring-boot-starter-web依赖。但是spring-boot-starter-web依赖包括Jackson的JSON处理库(如jackson-databind、jackson-core等),不一定直接包含处理XML的Jackson库(如jackson-dataformat-xml
- 2024-09-12jackson 原生反序列化触发 getter 方法
jackson原生反序列化触发getter方法jackson的POJONode方法可以任意调用getterjackson序列化会任意调用getter分析jackson序列化会调用任意getter方法,jackson反序列化也会任意调用getter,这两个都不需要多说什么了,在前面的jackson反序列化中的TemplatesImpl
- 2024-09-12jackson 反序列化学习
jackson反序列化学习jackson介绍Jackson是一个用于处理JSON数据的开源Java库。SpringMVC的默认json解析器便是Jackson。Jackson优点很多。Jackson所依赖的jar包较少,简单易用。与其他Java的json的框架Gson等相比,Jackson解析大的json文件速度比较快;Ja
- 2024-09-12解决Java8中使用LocalDate接收参数异常 not supported by default
背景在spring项目中经常遇到需要传参为时间类型的参数,java8提供了很方便的日期:LocalDate时间:LocalTime及LocalDateTime类型,在spring接口中直接使用这些类型接收入参时会报错Java8date/timetypejava.time.LocalDatenotsupportedbydefault原因是jackson库默认
- 2024-09-11Springboot LocalDateTime 格式化
importcom.fasterxml.jackson.databind.ser.std.ToStringSerializer;importcom.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;importcom.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;importcom.fasterxml.jackson.datatype
- 2024-09-11Springboot枚举自定义序列化
packagexxxxxxxxxxxxx;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.JsonSerializer;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.fasterxml.jackson.databind.SerializerProvider;importcom.fasterx
- 2024-09-10【pom】解决jar冲突心得 之 通过解决启动报错 Caused by: java.lang.NoClassDefFoundError: Could not initialize class com
解决jar冲突心得之通过解决启动报错 Causedby:java.lang.NoClassDefFoundError:Couldnotinitializeclasscom.fasterxml.jackson.databind.ObjectMapper 学思路 一般情况,出现Causedby:java.lang.NoClassDefFoundError的问题1.要么是jar没有引入pom,所以找不
- 2024-09-02定制JSON序列化的利器示例
金额序列化:importcom.fasterxml.jackson.annotation.JacksonAnnotationsInside;importcom.fasterxml.jackson.databind.annotation.JsonDeserialize;importcom.fasterxml.jackson.databind.annotation.JsonSerialize;importcom.rb.jrzl2.crm.infrastructure.constant.jso
- 2024-08-28SpringMVC接收返回值方法汇总
传统方式@RequestMapping("/param01")publicStringparam01(HttpServletRequestrequest)throwsUnsupportedEncodingException{request.setCharacterEncoding("UTF-8");Stringid=request.getParameter("id");request.setAt
- 2024-08-25SpringBoot文档之JSON的阅读笔记
ReferenceCoreFeaturesJSON支持Gson、Jackson、JSON-B。SpringBoot提供了组件spring-boot-starter-json。注解,如下:@JsonComponent@JsonMixin重要的类,如下:JsonSerializerJsonDeserializerKeyDeserializerJsonObjectSerializerJsonObjectDeserializer参
- 2024-08-19放弃fastjson拥抱jackson
放弃fastjson拥抱jackson背景功能强大好用;不亏是国人更懂国人;但是安全漏洞频发;生产项目总是告警勒令修改放弃使用。坑爹玩意fastjson漏洞太多直接搞了fastjson2;虽然大部分兼容远古项目还需要升级谁敢动呀。动了引发一些未知BUG那岂不是背锅侠(玩笑该干还得干挣得就是
- 2024-07-23jackson序列化(jackson codec)
Jackson是一个用于Java平台的开源JSON库,它提供了灵活且高效的方式来处理JSON数据的序列化(Java对象→JSON字符串)和反序列化(JSON字符串→Java对象)。以下是Jackson的一些主要特点和功能:高性能:Jackson通过使用基于流的处理模型和性能优化技术,提供了出色的性能。它支
- 2024-07-19@JsonProperty 踩坑
@JsonProperty在fastjson和hutooljson中是不会生效的。在fastjson中,对应的注解是@JSONField。如果你正在使用fastjson进行JSON的序列化和反序列化,并且想要改变字段的JSON属性名,你应该使用@JSONField注解,而不是@JsonProperty。publicclassUser{@JSONF