如何将 HTML 转换为 JSON

Sheetize HtmlConverter for .NET 让解析 HTML 文件并输出结构化的 JSON 表格数据变得轻而易举。转换器能够处理内联样式、嵌入的图片以及复杂表格,生成的 JSON 干净整洁,可供 Web API、数据管道或前端应用直接使用。

为什么要进行 HTML → JSON 转换?

  • JSON 与语言无关,是在 HTTP 上传输表格数据的理想选择。
  • 可以将基于 HTML 的报表复用为仪表盘、机器学习模型或移动应用的数据源。
  • 保留 HTML 中的可视化布局,同时以编程方式暴露单元格的数值、公式和元数据。

核心功能

  • 完整表格抽取 – 行、列、合并单元格以及样式全部捕获。
  • 资源处理 – 图片和多媒体可以以 Base64 编码方式嵌入,或作为 JSON 中的外部文件引用。
  • 可定制输出 – 可在紧凑的扁平结构和层次化的工作簿模型之间自由切换。

转换工作流(HTML → JSON)

  1. 创建转换器 – 实例化 HtmlConverter
  2. 设置加载选项 – 指定源 HTML 文件,必要时定义资源的基准 URI。
  3. 配置保存选项 – 使用 HtmlSaveOptions 选择 JSON 架构、是否嵌入资源以及输出路径。
  4. 执行转换 – 调用 HtmlConverter.Process(loadOptions, saveOptions)

代码示例 – 将 HTML 转为带嵌入图片的 JSON

using Sheetize;

var loadOptions = new LoadOptions
{
    InputFile = @"C:\Docs\Report.html"
};

var saveOptions = new HtmlSaveOptions
{
    OutputFile = @"C:\Output\Report.json"
};

HtmlConverter.Process(loadOptions, saveOptions);

JSON 示例(简化版)

{
  "sheets": [
    {
      "name": "Sheet1",
      "rows": [
        {
          "cells": [
            {
              "address": "A1",
              "value": "Title",
              "style": { "fontWeight": "bold" }
            },
            {
              "address": "B1",
              "value": "Image",
              "image": "data:image/png;base64,iVBORw0KG..."
            }
          ]
        }
      ]
    }
  ]
}

高级技巧

  • 选择性抽取 – 设置 HtmlLoadOptions.IncludeElements = new[] { "table", "img" },即可忽略与表格无关的标记。
  • 性能优化 – 对大型 HTML 文件,可在 JsonSaveOptions 中开启 ParallelProcessing = true
  • 自定义序列化 – 实现 IJsonConverter,例如将日期转换为 ISO‑8601 格式。

扩展格式支持

除了 JSON,HtmlConverter 还支持 MHTML、CSV、EPUB、AZW3,甚至可以重新生成 XLSX。这使它成为在 Web、电子书和电子表格生态之间进行数据交换的通用桥梁。

按照上述步骤,你就可以使用 Sheetize 的 HtmlConverter 将任意 HTML 报表可靠地转换为干净、可消费的 JSON。

 中文