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

Java读取类路径下的JSON文件并转换为实体列表

使用 Jackson 库来读取类路径下的 JSON 文件并将其转换为对应实体列表。

在实际开发中可能在本地环境中需要调用别人的接口,别人的接口如果还没开发好或者本地环境不支持外部接口调用的时候,可以读取json文件来造数据,方便调试。

以Student类作为例子,提供一个读取json文件的方法。

需要用到的依赖:

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.5</version> <!-- 版本号可能需要根据你的需求调整 -->
</dependency>

Java代码: 

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class JsonReader {public static void main(String[] args) {List<Student> studentList = readJsonFile("students.json");// 在这里可以使用 studentList 进行后续操作System.out.println(studentList);}private static List<Student> readJsonFile(String fileName) {ObjectMapper objectMapper = new ObjectMapper();TypeReference<List<Student>> typeReference = new TypeReference<>() {};try (InputStream inputStream = JsonReader.class.getClassLoader().getResourceAsStream(fileName)) {if (inputStream != null) {return objectMapper.readValue(inputStream, typeReference);} else {System.out.println("File not found: " + fileName);return null;}} catch (IOException e) {System.out.println("Error reading JSON file: " + e.getMessage());return null;}}
}

相关文章:

  • Linux部署MeterSphere结合内网穿透实现远程访问服务管理界面
  • Windows 10中查找文件的3种方法,就差不多够你查找想要的文件了
  • DolphinScheduler 介绍及系统架构
  • 多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测
  • 面试算法72:求平方根
  • Redis基础-Redis概念及常见命令
  • 使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理
  • CentOS系统环境搭建(二十五)——使用docker compose安装mysql
  • Postman调用HTTPS需要配置
  • 中国信通院「星熠」案例公布,个推消息推送获评绿色SDK产品优秀案例
  • 外卖系统开发:构建高效、安全的外卖平台
  • 什么猫粮比较好?最受欢迎猫咪喜爱的5款主食冻干推荐!
  • 服务器系统时间不同步如何处理
  • 【网络安全】Log4j 远程代码执行漏洞解析
  • 机器学习之实验过程01
  • GraphQL学习过程应该是这样的
  • gulp 教程
  • HomeBrew常规使用教程
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • java8-模拟hadoop
  • JavaScript 基本功--面试宝典
  • JavaScript服务器推送技术之 WebSocket
  • React as a UI Runtime(五、列表)
  • React-redux的原理以及使用
  • spring boot下thymeleaf全局静态变量配置
  • Swoft 源码剖析 - 代码自动更新机制
  • underscore源码剖析之整体架构
  • vue 配置sass、scss全局变量
  • Vue官网教程学习过程中值得记录的一些事情
  • 从输入URL到页面加载发生了什么
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 什么是Javascript函数节流?
  • 实现菜单下拉伸展折叠效果demo
  • 实现简单的正则表达式引擎
  • 我这样减少了26.5M Java内存!
  • 一道面试题引发的“血案”
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 鱼骨图 - 如何绘制?
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 说说我为什么看好Spring Cloud Alibaba
  • ​批处理文件中的errorlevel用法
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (十五)使用Nexus创建Maven私服
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite