json 返回数据命名不规范,导致反序列化报错Unrecognized field XXX

fastjson存在反序列化漏洞?全面剖析禁用原因及迁移Jackson实战 在Java后端开发中,JSON处理库的选择直接影响系统安全与维护成本。反序列化作为将数据流还原为对象的核心机制,一旦允许外部控制类名实例化,便可能触发远程代码执行等高危风险。fastjson因支持@type自动类型解析,历史上多次曝出严重漏洞,即便不断升级版本,黑名单绕过与DoS攻击仍层出不穷,给长期项目带来沉重的安全巡检与依赖升级负担。Jackson作为Spring Boot默认JSON框架,凭借稳定的社区生态、白名单多态机制及更规范的漏洞响应,成为更可靠的技术选型。本文从反序列化漏洞原理出发,对比fas 阅读详情

json 返回数据命名不规范,导致反序列化报错Unrecognized field XXX


返回的json如下所示:

[{"C_TITLE":"XXX","ISSUE_DATE":"2019-04-04","NO":"XXX","PID":"A6047B87533CE7CECC4F20A517AFABE7","id":"84E3679357805CFFE05397BE0A0A9A86"},
 {"C_TITLE":"XXX","ISSUE_DATE":"2019-03-25","NO":"XXX","PID":"369E68BCB18FC8DBC4C8BBEB0A62AAC8","id":"8418A98C739F3443E05397BE0A0A6C4E"}]

可以明显看出json的key命名不规范,不是驼峰命名,Java把josn字符串转换为对象(即反序列化)时,会导致报错:

Unrecognized field XXX

解决方案:在实体类的字段上,加上注解:@JsonProperty(“C_TITLE”)
这里我json序列化使用的是Jackson
eg:

	@JsonProperty("C_TITLE")
	private String cTITLE;   //标题
	
	@JsonProperty("ISSUE_DATE")
	private String issueDATE;   //发布日期
	
	@JsonProperty("NO")
	private String no;   //公告号
	
	@JsonProperty("PID")
	private String pid;   //
	
	private String id;   // 

重要的事情说三遍:
命名一定要规范!
命名一定要规范!
命名一定要规范!

Android开发者的Protobuf快速指南:从proto文件到序列化实战 序列化是网络通信和数据存储的基础,而JSON与XML虽然在可读性上占优,却存在体积大、解析慢等问题。Protobuf作为Google推出的二进制序列化协议,通过预定义的proto文件约束数据结构,利用字段编号替代字段名,显著减少传输体积,提升解析速度。在Android开发中,引入protobuf-javalite与Gradle插件,即可高效实现数据序列化与反序列化。本文从Android工程师视角,讲解proto3语法、字段编号设计、Gradle配置及常见坑位,并对比JSON展示实测体积差距,帮助开发者快速掌 阅读详情

相关推荐

字符集的选择

字符集的选择 一:背景介绍 DICOM特定字符集(0008,0005) 此标签获得不同的值就代表使用不同的语言进行解码。 以下为多家CT厂商的(0008,0005)取值: 字符集: unicode是字符集,ASCII、GB2312、GBK、GB18030既是字符集也是编码方式,UTF-8只是编码方式。 二:中文字符集介绍 世界通用字符集——UTF 中文字符集——GB2312、GBK、GB18030 字符集的详细介绍 一:UTF-8 程序是把一个字节一个字节的来读取,然后再根据字节中开头的bit

qq_41972968的博客 1519

JSON parse error: Unrecognized field “xxxx“ (classxxxx.xxx.xxx.xx JSON报错

类中的有效字段,您需要在类定义中添加相应的属性。确保属性名称与字段名称完全匹配,并考虑添加任何必要的注解或getter/setter方法。如果您希望在JSON解析过程中忽略未知字段,可以配置Jackson ObjectMapper来忽略未知属性。如果您可以控制JSON数据,确保只包含已知的字段,或者更新JSON结构以匹配。如果"imPremodelCode"字段确实是应该包含在。注解,或者直接配置ObjectMapper。

a203206868的博客 2211

《AI大模型评测与智能测试》

第三篇“实践蓝图”(第6-7章)着眼于测试领域AI应用,重点介绍了RAG、AI Agent开发及构建端到端智能测试系统的方法。本书聚焦AI时代的“质量”核心,以“AI赋能测试”(AI For Testing)与“AI模型评测”(Testing For AI)为双轮驱动。内容不仅深入剖析如何科学度量AI大模型的内在质量,还系统讲解如何利用AI赋能传统软件测试,帮助读者贯通从模型原理、评测到应用开发的全链路知识。

酌沧 1139

解决JSON parse error: Unrecognized field xxx

出现原因:前后端参数不一致,通常前端多传了参数。 可以在接收对象上设置 @JsonIgnoreProperties(ignoreUnknown = true)

当我谈编程时我谈些什么 1万+

python 中心线提取_二值分析 | OpenCV + skimage如何提取中心线

点击上方蓝字关注我们微信公众号:OpenCV学堂关注获取更多计算机视觉与深度学习知识问题前几天有个人问了我一个问题,问题是这样的,他有如下的一张二值图像:怎么得到白色Blob中心线,他希望的效果如下:显然OpenCV中常见的轮廓分析无法获得上面的中心红色线段,本质上这个问题是如何提取二值对象的骨架,提取骨架的方法在OpenCV的扩展模块中,另外skimage包也支持图像的骨架提取。这里就...

weixin_42204453的博客 4290

2025.06.18【转录组】|Ribo-seq/small RNA数据分析:rRNA和smRNA比对率统计全流程

本文介绍了一种自动化统计rRNA/smRNA比对率的方法,用于评估Ribo-seq或small RNA测序数据的质量。主要内容包括:分析原理(比对率定义、参考序列来源)、实践流程(构建索引、比对统计)以及结果可视化方法。通过Python和R脚本实现自动化处理,可生成汇总表格和柱状图。比对率结果能反映样品污染程度,建议控制在20%以下。该流程有助于快速评估测序质量,为后续分析提供可靠依据。文中还提供了常见问题解决方案和脚本示例,适用于生物信息学标准化质控环节。

1616

jackson出现错误 Unrecognized field,几种处理方法

2、属性大小写问题,如下 属性全部大写,JackSon 默认是通过驼式命名法 处理 比如 nickName 这样儿,有时比较特殊,比如映入其他系统的字段,可能都是大写,3、重写ObjectMapper 对象的 PropertyNamingStrategy方法 列子如下,但是不太建议,会出现不统一的问题,如果有统一规则可以使用。1、请求的JSON里面字段多余映射的实体类,可以通过在类的顶部添加@JsonIgnoreProperties,2.0版本引入。

zsd_fresh的博客 7636

ruoyi-nbcio基于ruoyi的flowable前端支持自定义表单组件的自动获取方法

ruoyi-nbcio基于ruoyi的flowable前端支持自定义表单组件的自动获取方法

宁波阿成的博客 607

解决 Unrecognized field xxx , not marked as ignorable 问题

出现这种问题是因为使用jackson进行json转换时,MappingJacksonHttpMessageConverter默认要求必须存在相应的字段。如果没有传来的某个字段或者字段没有提供set方法,就会报错。。 解决办法 第一种 @JsonIgnoreProperties(ignoreUnknown = true),将这个注解写在类上之后,就会忽略类中不存在的字段。 第二种 @J

喝完牛奶好睡觉的博客 2万+

跨平台C#上位机开发:.NET MAUI与工业物联网的融合实战

NET MAUI正在重塑工业上位机的开发模式——从“为单一设备定制”转向“全场景覆盖”。其价值不仅在于“代码复用”,更在于打通了工业物联网的“最后一公里”:让边缘设备、云平台、移动终端通过统一的数据模型协同工作。未来,随着.NET MAUI对WebAssembly的支持(计划在.NET 9实现),上位机甚至可直接运行在浏览器中,进一步降低部署门槛。对于工业开发者,掌握跨平台技术意味着能更快响应多样化的现场需求,从“Windows专家”升级为“全栈工业开发者”。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1089

Autosar代码包初识 2 - 如何编译Vector包内Demo工程

Vetcor autosar代码包Demo工程编译,GreenHills,RH850,Autosar,Davinci COnfigurator

weixin_42412049的博客 5184

SpringBoot中报错:JSON parse error: Unrecognized filed 异常原因和解决方案

这表示JSON字符串中包含了一个Java对象中不存在的字段,导致解析失败。JSON字符串中包含了一些字段,但这些字段在Java对象中没有对应的属性。如果JSON中包含嵌套对象或数组,确保Java对象中有对应的嵌套结构。如果可能,直接修改Java对象的属性名,使其与JSON字段名一致。JSON中包含嵌套对象或数组,但Java对象中没有对应的嵌套结构。JSON字符串中的字段名与Java对象的属性名不一致。JSON字段名的大小写与Java对象的属性名不一致。确保JSON字段名与Java对象的属性名一致。

a_beiyo的博客 2689

在Android Jetpack Compose中实现夜间模式

Android基于Compose的深色主题实现

虎哥LoveDroid 1235

一文讲透JSON序列化与反序列化:数据交换、持久化与安全实践

JSON是一种轻量级的数据交换格式,而序列化与反序列化则是打通内存对象与外部世界的关键桥梁。其核心原理是将运行时对象转换为可传输、可存储的文本或字节流,并在接收端还原为对象,从而支撑跨语言、跨系统的契约化通信。在数据交换场景中,序列化格式决定了接口兼容性与联调效率;在持久化场景中,JSON字段成为数据库、缓存与配置文件的重要组成部分,但同时也带来类型映射、版本演进等挑战。此外,反序列化也是安全攻击的高发入口,autoType、多态类型处理等机制若使用不当,可能引发严重漏洞。围绕基础原理,文章系统梳理主流语言

weixin_34060741的博客 168

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

EMQX与DolphinDB集成实践:百万级JSON消息秒级入库方案

在物联网数据接入场景中,海量设备产生的高频JSON数据往往需要经过MQTT消息服务器转发至时序数据库进行存储与分析。EMQX作为高并发MQTT Broker,负责设备连接与消息路由;DolphinDB凭借列式存储、分区机制与批量写入接口,成为高性能时序数据处理的理想选择。理解从消息中间件到数据库的完整链路设计,掌握规则引擎、批量提交、并行写入等核心优化手段,能够有效解决吞吐量瓶颈,实现百万级JSON消息的秒级入库。该方案适用于智能硬件、工业监测、车联网等需要大规模数据采集与实时分析的工程实践,为构建高吞吐数

weixin_34161064的博客 447

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Claude Code代理层:协议翻译与模型路由技术解析

大语言模型代理层本质上是跨平台API协议的语义桥接系统,其核心原理在于对Anthropic V3、OpenAI v1及NVIDIA NIM等异构协议进行字段映射、结构转换与错误容错处理。该技术显著提升开源模型在工业级LLM客户端中的兼容性与工程可用性,支撑thinking token流式回传、tool call强Schema校验、多模型动态路由等关键能力。典型应用场景包括本地化Claude Code客户端接入NVIDIA NIM/DeepSeek/OpenRouter等后端服务,实现零代码改造下的模型自由切

weixin_34099526的博客 566

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Springboot 多传参数导致 JSON parse error: Unrecognized filed ...异常

如果没有包含前台传来的字段,就会报错:Unrecognized field xxx , not marked as ignorable,这是因为MappingJacksonHttpMessageConverter默认要求必须存在相应的字段。如果没有前台传来的某个字段,就会报错。©著作权归作者所有:来自51CTO博客作者love老婆的原创作品,请联系作者获取转载授权,否则将追究法律责任。springboot前端多传参数报错、前端多传json字段报错。

weixin_43114485的博客 1165

SpringBoot 项目JSON parse error: Unrecognized field “xxx“错误

SpringBoot 项目JSON parse error: Unrecognized field "xxx"错误解决方法一(针对类进行处理)解决方法二(全局进行处理) 解决方法一(针对类进行处理) 在发生该异常的类上加上注解@JsonIgnoreProperties(ignoreUnknown = true) 解决方法二(全局进行处理) import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.ja

weixin_42096602的博客 4495

布尔类型传参:JSON parse error: Unrecognized field “isWatch“ (), not marked as ignorable;

后台管理系统,需要判断配置的新型号是手表还是手机,就在实体类里加了个private boolean isWatch;postman发送请求过来的时候,就有这样的报错:JSON parse error: Unrecognized field “isWatch” (), not marked as ignorable;解决方法:1.改成包装类型Boolean isWatch;

weixin_46730700的博客 463

Ruoyi——数据权限分析

AOP类DataDeviceAspect处理注解。1.利用若依的代码生成功能,生成设备信息表。xml使用AOP类添加SQL语句。1.admin用户界面。2.修改普通角色的权限。二、写相关代码与接口。

m0_61848916的博客 719

若依框架启动报错

若依框架报错Identify and stop the process that's listening on port 9201 or configure this application to listen on another port.

qq_45562974的博客 664

整合springsecurity时redis报错: Could not read JSON: Unrecognized field “enabled“

springboot整合springsecurity时报错: 通过查看报错信息发现都是使用redis的地方报错。项目中是使用redis作为缓存来存放User信息,不整合springsecurity时一切正常,但整合后就除了问题,在网上查了几篇博客发现是在redis序列化存储User对象时除了问题。 重点错误信息: Could not read JSON: Unrecognized field "enabled" (class com.xyc.community.entity.User), no.

qq_41706331的博客 7707

若依框架——使用自定义用户表登录系统

简单完成最基本的自定义用户登录功能(加入md5密码校验)

ranfreedom的博客 8730

解决HttpMessageNotReadableException: JSON parse error: Unrecognized field “xxxx“

环境:SpringBoot 2.0.9(最新版本的Springboot不存在此问题) 问题描述: post请求@requestBody接收对象时 提示 org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized field "aaaaa" (class com.ex.application.model.RiskAudit), not marked as ignorable

fenfenguai的专栏 4574

SpringBoot 解决JSON parse error: Unrecognized field xxx

SpringBoot 解决JSON parse error: Unrecognized field xxx

m0_63969219的博客 1981

ruoyi 若依框架采用第三方登录

1、 在控制器层,SysLoginController 中,原有的login方法之后,写一个登录的方法,注意其中的 loginService.logingcy(userId);通过第三方协议解析出用户的信息,可能 是工号,或者是微信的openid这都无所谓,反正通过他你能找到本系统的用户就可以了。在项目中,前后端分离的若依项目,需要通过统一认证,或者是第三方协带认证信息跳转到本系统的指定页面。1、首先要做一个登录过度页面,内容可以为空白,只需要接收地址栏中的参数,并且调用上面第一步中定义的方法。

COOLBLOOD的专栏 3263
上一篇: jar包JDK版本降级
下一篇: oracle用sql语句实现年龄分段统计,case when then用法(用于分类统计)
阿波罗AP
博客等级 码龄9年 14粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值