当前位置: 首页 > news >正文

解析json异常, ObjectMapper注册的问题

  • 背景。存储数据使用json格式,所以需要解析以获取json中的字段值。
  • 所报异常

在这里插入图片描述

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;

在这里插入图片描述

  • 要解析的json{"endDate": "2025-07-15", "startDate": "2025-07-14"}

  • 解析具体实现

/*** 解析周期配置JSON*/
private CycleConfigDto parseCycleConfig(String cycleConfigJson) {if (cycleConfigJson == null || cycleConfigJson.trim().isEmpty()) {return new CycleConfigDto();}try {return objectMapper.readValue(cycleConfigJson, CycleConfigDto.class);} catch (Exception e) {log.error("解析周期配置JSON失败: {}", cycleConfigJson, e);return new CycleConfigDto();}
}
  • 解析json所映射的对象
package com.help.projectcenter.domain.dto;import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDate;/*** 周期配置DTO** @author ruoyi* @date 2025-01-14*/
@Data
public class CycleConfigDto {/*** 月份(1-12,用于年周期)*/private Integer month;/*** 日期(1-31,用于年周期和月周期)*/private Integer day;/*** 星期几(1-7,1=周一,2=周二,...,7=周日,用于周周期)*/private Integer weekday;/*** 开始日期(用于指定日期周期)*/@JsonFormat(pattern = "yyyy-MM-dd")private LocalDate startDate;/*** 结束日期(用于指定日期周期)*/@JsonFormat(pattern = "yyyy-MM-dd")private LocalDate endDate;/*** 验证配置是否有效*/public boolean isValid() {// 基础验证:至少有一个配置项不为空return month != null || day != null || weekday != null || startDate != null || endDate != null;}/*** 验证年周期配置*/public boolean isValidYearConfig() {return month != null && month >= 1 && month <= 12&& day != null && day >= 1 && day <= 31;}/*** 验证月周期配置*/public boolean isValidMonthConfig() {return day != null && day >= 1 && day <= 31;}/*** 验证周周期配置*/public boolean isValidWeekConfig() {return weekday != null && weekday >= 1 && weekday <= 7;}/*** 验证指定日期配置*/public boolean isValidSpecificDateConfig() {return startDate != null && endDate != null && !endDate.isBefore(startDate);}
}
http://www.lryc.cn/news/601838.html

相关文章:

  • 生成式召回-TIGER范式
  • BUG记录——Request接传Json数据中文乱码
  • C语言——————学习笔记(自己看)
  • Oracle 19C RU 19.28 升级和安装
  • Frontiers in Psychology投稿LaTeX(三)
  • Python异常处理:金融风控系统中的救命盾牌
  • 设备分配与回收
  • 6.Pinia快速入门
  • 3.JDK+JRE组件构成与协作
  • LeetCode 刷题【16. 最接近的三数之和、17. 电话号码的字母组合】
  • 推荐系统学习
  • 电子电路设计学习
  • Oracle数据库常用语法详解
  • 逆向入门(43)程序逆向篇-tsrh-crackme
  • C++ auto 类型推导
  • Android MQTT 长连接最佳实践技术分享
  • 5.4 ASPICE适配过程中的实施改进
  • 机械学习初识--什么是机械学习--机械学习有什么重要算法
  • Red靶机攻略
  • 字符串是数据结构还是数据类型?
  • Day44 Java数组08 冒泡排序
  • python中的容器与自定义容器
  • Pinocchio 结合 CasADi 进行 IK 逆运动学及 Mujoco 仿真
  • 09_opencv_遍历操作图像像素
  • CIFAR100数据集实测-基于 AlexNet模型的压缩/Bagging/Boosting 探索
  • 人社部物联网安装调试员的实训平台
  • 深度学习(鱼书)day04--手写数字识别项目实战
  • 网络协议:计算机世界的“交通规则“与“社交礼仪“
  • java--WebSocket简单介绍
  • Flutter开发实战之性能优化与调试