HTML을 JSON으로 변환하는 방법
Sheetize HtmlConverter for .NET은 HTML 파일을 파싱하고, 그 안에 포함된 스프레드시트 데이터를 구조화된 JSON 형태로 손쉽게 내보낼 수 있게 해줍니다. 변환기는 인라인 스타일, 삽입된 이미지, 복잡한 표까지 처리하여 웹 API, 데이터 파이프라인 또는 프론트엔드 애플리케이션에서 활용할 수 있는 깔끔한 JSON을 생성합니다.
HTML → JSON 변환이 필요한 이유
- JSON은 언어에 구애받지 않으며 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 등 다양한 포맷으로 변환할 수 있습니다. 이를 통해 웹, 전자책, 스프레드시트 생태계 간의 데이터 교환을 손쉽게 구현할 수 있습니다.
위 단계를 따라 Sheetize HtmlConverter를 사용하면 HTML 보고서를 깔끔하고 재사용 가능한 JSON 형태로 안정적으로 변환할 수 있습니다.