jackson出现错误 Unrecognized field,几种处理方法
1、请求的JSON里面字段多余映射的实体类,可以通过在类的顶部添加@JsonIgnoreProperties,2.0版本引入
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
2、属性大小写问题,如下 属性全部大写,JackSon 默认是通过驼式命名法 处理 比如 nickName 这样儿,有时比较特殊,比如映入其他系统的字段,可能都是大写,
可以通过@JsonProperty(value = "HPHM")处理
/** 车牌号码 */ @JsonProperty(value = "HPHM") private String HPHM; /** 车牌颜色 */ @JsonProperty(value = "HPYS") private String HPYS; /** 车辆颜色 */ @JsonProperty(value = "CSYS") private String CSYS; /** 车辆类型 */ @JsonProperty(value = "CLLX") private Integer CLLX;
3、重写ObjectMapper 对象的 PropertyNamingStrategy方法 列子如下,但是不太建议,会出现不统一的问题,如果有统一规则可以使用。
final ObjectMapper mapper = new ObjectMapper(); mapper.setPropertyNamingStrategy(new PropertyNamingStrategy() { private static final long serialVersionUID = 1L; // 反序列化时调用 @Override public String nameForSetterMethod(MapperConfig<?> config, AnnotatedMethod method, String defaultName) { return method.getName().toUpperCase(); } // 序列化时调用 @Override public String nameForGetterMethod(MapperConfig<?> config, AnnotatedMethod method, String defaultName) { return method.getName().toUpperCase(); } });
分类:
restful
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义