HTML을 JSON으로 변환하는 방법

Sheetize HtmlConverter for .NET은 HTML 파일을 파싱하고, 그 안에 포함된 스프레드시트 데이터를 구조화된 JSON 형태로 손쉽게 내보낼 수 있게 해줍니다. 변환기는 인라인 스타일, 삽입된 이미지, 복잡한 표까지 처리하여 웹 API, 데이터 파이프라인 또는 프론트엔드 애플리케이션에서 활용할 수 있는 깔끔한 JSON을 생성합니다.

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 파일에서는 JsonSaveOptionsParallelProcessing = true를 활성화하세요.
  • 맞춤형 직렬화IJsonConverter를 구현해 셀 값을 변환(예: 날짜를 ISO‑8601 형식으로)할 수 있습니다.

확장된 포맷 지원

JSON 외에도 동일한 HtmlConverter를 이용해 MHTML, CSV, EPUB, AZW3XLSX 등 다양한 포맷으로 변환할 수 있습니다. 이를 통해 웹, 전자책, 스프레드시트 생태계 간의 데이터 교환을 손쉽게 구현할 수 있습니다.

위 단계를 따라 Sheetize HtmlConverter를 사용하면 HTML 보고서를 깔끔하고 재사용 가능한 JSON 형태로 안정적으로 변환할 수 있습니다.

 한국어