You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Java使用JSON文件生成表格形式报告?

核心实现思路

861KB的JSON属于极小体量的数据源,内存占用峰值不会超过10MB,不需要做流式解析、分片处理这类重优化,核心流程就是「JSON结构解析→字段与表格列映射→按目标格式输出表格」三步,全程避免过度设计。


可落地执行步骤
  • 前置准备:先打开你的JSON文件确认结构,明确两个核心信息:一是表格行数据所在的JSON路径(比如根节点就是数组、还是嵌套在data.items这类子节点下);二是要展示的表格列名和JSON字段的一一对应关系,提前列好映射规则,避免写代码时反复调整。
  • 依赖选型:JSON解析直接用Jackson即可,项目如果是SpringBoot栈已经自带,单独使用引入jackson-databind包就够,不需要额外引入其他JSON库;如果要生成Excel格式报告,引入poi-ooxml包即可,其他纯文本/HTML表格不需要额外依赖。
  • JSON解析实现:直接全量读取文件解析成树模型即可,参考代码:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;

public class JsonTableGenerator {
    public static void main(String[] args) throws Exception {
        ObjectMapper objectMapper = new ObjectMapper();
        // 读取JSON文件到内存
        JsonNode rootNode = objectMapper.readTree(new File("./target/report.json"));
        // 定位到表格行对应的数组节点,根据你的实际JSON路径调整
        JsonNode rowArray = rootNode.get("data").get("list");
        // 后续做数据映射
    }
}
  • 表格数据映射:先把表头按你要展示的顺序存成数组,再遍历刚才拿到的数组节点,逐行取出对应字段的值,统一存到List<String[]>结构里,遇到空字段直接填充默认值"-",避免后续生成表格错位。
  • 按需求输出对应格式的表格:
    • 输出Markdown/控制台可直接打印的纯文本表格:直接遍历List<String[]>,按格式拼接分隔符即可,Markdown表格表头和内容行之间加|---|---|格式的分隔线,单元格之间用|分隔,拼接完直接写入.md文件或者打印到控制台;
    • 输出Excel(xlsx)格式表格:创建XSSFWorkbook对象,新建Sheet页,逐行创建Row对象填充单元格内容,最后通过FileOutputStream写入到.xlsx文件即可,几千行以内的数据完全不需要用SXSSF流式写,普通API足够;
    • 输出HTML格式表格:可以直接拼接<table>、<tr>、<td>标签,也可以用简单的字符串模板填充,不需要引入重型模板引擎。
  • 收尾校验:生成完表格后核对总行数和JSON里的条目数是否一致,抽查几行数据的字段值是否匹配,避免字段路径写错导致取值为空。

避坑提示:不要为了这个小需求引入多余的报表框架、规则引擎类的依赖,整个实现加起来不到100行代码,越简单的方案越稳定。


内容的提问来源于stack exchange,提问作者Singam Chetty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 02:46:12