HTML を JSON に変換する方法
Sheetize HtmlConverter for .NET を使えば、HTML ファイルを解析し、スプレッドシート データを構造化された JSON 表現として出力できます。コンバータはインラインスタイル、埋め込み画像、複雑なテーブルを処理し、Web API やデータパイプライン、フロントエンド アプリケーションで利用できるクリーンな JSON を生成します。
なぜ HTML → JSON に変換するのか?
- JSON は言語に依存せず、タブular データを HTTP 経由で送信するのに最適です。
- HTML ベースのレポートをダッシュボード、機械学習モデル、モバイルアプリのデータソースとして再利用できます。
- 元のビジュアルレイアウトは HTML に残しつつ、セルの値・数式・メタデータをプログラムから取得できる形で公開できます。
コア機能
- テーブル全体の抽出 – 行・列・結合セル・スタイルをすべて取得。
- アセット処理 – 画像やメディアを Base64 エンコードするか、JSON で参照する別ファイルとして保存。
- 出力のカスタマイズ – コンパクトなフラット構造か、階層型ブックモデルかを選択可能。
変換ワークフロー (HTML → JSON)
- コンバータを作成 –
HtmlConverterのインスタンスを生成。 - ロードオプションを設定 – 変換元 HTML ファイルを指定し、必要に応じてリンクリソースのベース URI を設定。
- 保存オプションを構成 –
HtmlSaveOptionsを使って JSON スキーマ、リソース埋め込み、出力パスを選択。 - プロセスを実行 –
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 に変換し、さまざまなシステムで活用できます。