نحوه تبدیل 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 بهره‌مند شوید.

 فارسی