Как конвертировать HTML в JSON

Sheetize HtmlConverter для .NET упрощает парсинг HTML‑файла и генерацию структурированного JSON‑представления табличных данных, содержащихся в нём. Конвертер обрабатывает встроенные стили, изображения и сложные таблицы, генерируя чистый JSON, который можно использовать в веб‑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‑файлов включите ParallelProcessing = true в JsonSaveOptions.
  • Пользовательская сериализация – реализуйте IJsonConverter, чтобы преобразовывать значения ячеек (например, даты в формат ISO‑8601).

Поддерживаемые форматы

Помимо JSON, тот же HtmlConverter может генерировать MHTML, CSV, EPUB, AZW3, а также обратно в XLSX. Это делает его универсальным мостом для обмена данными между веб‑, электронными книгами и табличными экосистемами.

Следуя этим шагам, вы сможете надёжно превратить любой HTML‑отчёт в чистый, пригодный к использованию JSON с помощью Sheetize HtmlConverter.

 Русский