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

Java对象与JSON互转

这需要用到jackson包,org.codehaus.jackson.map.ObjectMapper
还有一个前提,对应的实体类需要实现Serializable接口

实例化ObjectMapper
// 使用静态 ObjectMapper 实例以提高性能
private static final ObjectMapper objectMapper = new ObjectMapper();
对象转JSON字符串
public static String convertToJson(Object object) {try {return objectMapper.writeValueAsString(object);} catch (JsonProcessingException e) {// 异常处理可以记录日志或抛出自定义异常throw new RuntimeException("Failed to convert object to JSON string", e);}
}
JSON字符串转对象
// 配置ObjectMapper以增强反序列化行为
static {// 忽略JSON中存在的未知字段mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);// 支持大小写不敏感的属性匹配mapper.configure(DeserializationFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
}public T convert(String json, TypeReference<T> typeReference) {try {return mapper.readValue(json, typeReference);} catch (JsonProcessingException e) {throw new IllegalArgumentException("Failed to parse JSON", e);}
}
  1. 通过使用TypeReference处理泛型类型、合理配置ObjectMapper以及优化异常处理机制,可以显著提升JSON字符串转换为Java泛型对象的效率和可靠性。
  2. 此外,将这些逻辑封装到一个泛型工具类中,不仅可以简化调用方的代码,还能提高代码的可维护性和复用性。
http://www.dtcms.com/a/320934.html

相关文章:

  • iOS混淆工具有哪些?跨平台 App 混淆与保护的实用方案
  • Android初学者系统开发学习路线参考
  • 构建高可用架构:ZDNS GSLB 在多数据中心场景下的应用与 F5 替换实践
  • [element-plus] flex布局 el-table表格设置百分比高度失效
  • 项目实战三:DPDK
  • el-image-viewer组件在el-table使用时层级异常问题解决
  • 无人机如何靠陀螺仪保持稳定飞行?
  • 无人机教育热潮下,超优航空如何为青少年插上科技翅膀?
  • 协同进化:AIGC、Agent和MCP如何相互促进共同发展
  • 使用Python提取PDF大纲(书签)完整指南
  • Java基础-模拟多线程安全问题场景
  • Track Any Anomalous Object: A Granular Video Anomaly Detection Pipeline
  • tmi8150b设置电机速度有两个地方,x轴电机,y轴电机,具体如下
  • 13. 搜索引擎-ElasticSearch
  • (已解决)Mac 终端上配置代理
  • 机器学习支持向量机(SVM)
  • C++使用FFmpeg进行视频推流
  • conda或mamba install 相关软件报错
  • GraphRAG 入门教程:从原理到实战
  • 【概率论】均匀分布的伪随机数
  • 代码随想录Day43:动态规划(最长递增子序列、最长连续递增序列、最长重复子数组)
  • Linux网络--1、网络基础
  • 【机器学习深度学习】微调训练数据质量
  • JSON结构的 泛型和 **非泛型两种 Java 实体类实现方案
  • 【DFS系列 | 递归】DFS算法入门:递归原理与实现详解
  • Electron——窗口
  • 工具分享05 | Python制作PDF合并拆分提取工具V1.0
  • Linux 学习 ------Linux 入门(上)
  • trae开发c#
  • Android 中 实现自定义 Dialog 提示框