วิธีแปลง HTML เป็น JSON

Sheetize HtmlConverter สำหรับ .NET ทำให้การแยกไฟล์ HTML และสร้างการแสดงผล JSON ที่เป็นโครงสร้างของข้อมูลสเปรดชีตเป็นเรื่องง่าย ตัวแปลงจะจัดการกับสไตล์ในบรรทัด, ภาพที่ฝังอยู่, และตารางที่ซับซ้อน ส่งออก JSON ที่สะอาด สามารถนำไปใช้ใน Web API, กระบวนการข้อมูล, หรือแอปพลิเคชันฝั่งหน้าได้

ทำไมต้องแปลง HTML → JSON?

  • JSON เป็นภาษากลางที่ไม่ขึ้นกับภาษาและเหมาะสำหรับการส่งผ่านข้อมูลตารางผ่าน HTTP
  • ช่วยให้คุณนำรายงานที่สร้างด้วย HTML ไปใช้เป็นแหล่งข้อมูลสำหรับแดชบอร์ด, โมเดลแมชชีนเลิร์นนิง, หรือแอปบนมือถือ
  • รักษาเลย์เอาต์แบบภาพของ HTML ไว้ ในขณะเดียวกันเปิดเผยค่าของเซลล์, สูตร, และเมตาดาต้าในรูปแบบที่โปรแกรมสามารถอ่านได้

ชุดฟีเจอร์หลัก

  • การสกัดตารางเต็มรูปแบบ – แถว, คอลัมน์, เซลล์ผสาน, และสไตล์ทั้งหมดจะถูกรวบรวม
  • การจัดการทรัพยากร – ภาพและสื่ออื่น ๆ จะถูกเข้ารหัสเป็น base64 หรือเก็บเป็นไฟล์แยกที่อ้างอิงใน JSON
  • การกำหนดรูปแบบผลลัพธ์ – เลือกโครงสร้างแบนแบบกะทัดรัดหรือโมเดลสมุดงานแบบลำดับชั้นได้ตามต้องการ

ขั้นตอนการแปลง (HTML → JSON)

  1. สร้าง Converter – ทำการสร้างอินสแตนซ์ HtmlConverter
  2. ตั้งค่า Load Options – ระบุไฟล์ HTML ต้นฉบับและกำหนด base URI สำหรับทรัพยากรที่ลิงก์ไว้ (ถ้ามี)
  3. กำหนด Save Options – ใช้ 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 ที่ได้ (แบบ simplified)

{
  "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" } เพื่อละเว้น markup ที่ไม่เกี่ยวข้อง
  • ประสิทธิภาพ – สำหรับไฟล์ HTML ขนาดใหญ่ ให้เปิด ParallelProcessing = true ใน JsonSaveOptions
  • การแปลงแบบกำหนดเอง – สร้างคลาสที่ implements IJsonConverter เพื่อแปลงค่าของเซลล์ (เช่น แปลงวันที่เป็นรูปแบบ ISO‑8601)

การสนับสนุนรูปแบบไฟล์เพิ่มเติม

นอกจาก JSON แล้ว HtmlConverter ยังสามารถส่งออกเป็น MHTML, CSV, EPUB, AZW3 และแม้กระทั่งกลับเป็น XLSX อีกด้วย ทำให้มันเป็นสะพานเชื่อมที่อเนกประสงค์สำหรับการแลกเปลี่ยนข้อมูลระหว่างเว็บ, e‑book, และระบบสเปรดชีต

ด้วยขั้นตอนเหล่านี้ คุณสามารถแปลงรายงาน HTML ใด ๆ ให้กลายเป็น JSON ที่สะอาดและพร้อมใช้งานโดยใช้ Sheetize HtmlConverter ได้อย่างมั่นใจ

 แบบไทย