JSON 도구 가이드: 문서와 데이터를 JSON으로 변환하고 다시 되돌리기
이 가이드는 JSON 도구가 파일을 읽고 쓰는 방식, PDF를 JSON으로와 Word를 JSON으로가 만드는 문서 형식, 그리고 각 작업에 알맞은 도구를 설명합니다.
JSON을 사용하는 이유
JSON은 프로그램, 웹 서비스, AI 모델이 가장 쉽게 읽는 데이터 형식입니다. 이름이 붙은 필드를 가진 객체, 목록, 숫자, 텍스트, true, false, null뿐이며 그 외에는 아무것도 없습니다. 문서와 스프레드시트는 이런 방식으로 저장되지 않습니다. 이 도구군은 양쪽 방향에서 그 간극을 메워 줍니다. PDF, Word 파일, 스프레드시트, CSV, YAML, XML을 JSON으로 바꾸고, JSON을 사람이 읽는 파일, 예를 들어 PDF, Word, Excel, CSV, HTML로 다시 바꿉니다.
모든 도구는 저희 서버에서 안전한 연결을 통해 실행되며, 업로드된 파일은 60분 안에 삭제됩니다. 텍스트 입력은 업로드하지 않고 바로 붙여넣을 수 있습니다.
작업에 맞는 도구 선택하기
| 가진 것 | 원하는 것 | 사용할 도구 |
|---|---|---|
| 데이터로서의 텍스트, 표, 메타데이터 | PDF를 JSON으로 | |
| Word 문서 | 데이터로서의 제목, 단락, 목록, 표 | Word를 JSON으로 |
| Excel 워크북 | 레코드, 행 또는 열 | Excel을 JSON으로 |
| CSV 또는 TSV 파일 | 타입이 지정된 값을 가진 JSON 배열 | CSV를 JSON으로 |
| YAML 파일 | 같은 데이터를 JSON으로 | YAML을 JSON으로 |
| XML 파일 | 객체, 속성, 배열 | XML을 JSON으로 |
| JSON | 읽거나 인쇄할 PDF | JSON을 PDF로 |
| JSON | Excel 워크북 | JSON을 Excel로 |
| JSON | CSV 파일 | JSON을 CSV로 |
| JSON | 편집 가능한 Word 문서 | JSON을 Word로 |
| JSON | 웹 페이지 | JSON을 HTML로 |
| JSON | 설정 파일용 YAML | JSON을 YAML로 |
| JSON | 다른 시스템용 XML | JSON을 XML로 |
| 지저분하거나 유효하지 않은 JSON | 깨끗하고 유효한 JSON | JSON 포매터 |
| 두 개의 JSON 파일 | 무엇이 바뀌었는지 나열한 목록 | JSON 비교 |
Markdown에는 자체적인 짝이 있습니다. Markdown을 JSON으로는 문서 트리를 내보내고, JSON을 Markdown으로는 JSON을 Markdown 개요나 표로 바꿉니다.
문서 형식
PDF를 JSON으로와 Word를 JSON으로는 같은 형태를 작성하므로 하나의 코드로 두 종류의 파일을 모두 처리할 수 있습니다. 최상위 레벨에는 항상 다음 필드가 있습니다.
{
"format": "acepdfmd-document",
"version": 1,
"source": {"type": "pdf", "filename": "report.pdf", "title": "Q3 Report", "pages": 12},
"pages": [{"number": 1, "width": 612, "height": 792, "words": 380, "text": "..."}],
"blocks": [
{"type": "heading", "level": 1, "text": "Q3 Report"},
{"type": "paragraph", "text": "Revenue grew..."},
{"type": "list", "ordered": false, "items": [{"level": 0, "text": "Europe"}]},
{"type": "table", "header": ["Region", "Q3"], "rows": [["Europe", 1200.5]]}
],
"tables": [{"index": 1, "page": 3, "rows": [["Region", "Q3"], ["Europe", 1200.5]]}],
"form_fields": [{"name": "email", "type": "text", "value": "[email protected]"}],
"extraction": {"engine": "pdf_to_markdown/layout", "mode": "structure", "ocr": false, "warnings": []}
}
각 필드는 다음을 의미합니다.
- source: 파일이 어떤 형식이었는지와 그 파일이 담고 있던 메타데이터입니다(제목, 작성자, 주제, 키워드, 생성 및 수정 날짜, 페이지 수). Word 파일에는 단어, 표, 이미지 개수가 추가됩니다.
- pages: PDF 페이지마다 하나의 항목이 있으며, 포인트 단위의 크기, 회전 각도, 단어 수, 텍스트가 담깁니다. Word 파일에는 페이지가 없는데, Word는 인쇄할 때만 페이지를 배치하기 때문입니다.
- blocks: 읽는 순서대로 정리된 문서입니다. 유형에는 제목(1부터 6까지의 수준 포함), 단락(Word에서 가져온 스타일 이름을 선택적으로 포함), 목록(순서 있음 또는 없음, 중첩 수준을 가진 항목), 표(헤더와 타입이 지정된 행), 코드, 인용문, 구분선, 이미지가 있습니다.
- tables: PDF의 경우, 발견된 모든 표와 그것이 발견된 페이지, 그리고 표가 이어질 경우 끝나는 페이지가 포함됩니다. 숫자처럼 보이는 셀은 숫자로 처리됩니다.
- form_fields: PDF에 양식이 있을 때만 존재합니다. 각 필드에는 이름, 타입(텍스트, 선택, 버튼 또는 서명), 현재 값이 담깁니다.
- extraction: 어떤 변환기가 실행되었는지, 선택한 모드가 무엇인지, OCR이 필요했는지, 그리고 표를 인식하지 못한 경우와 같은 경고가 있었는지를 나타냅니다.
이 형식의 버전 1은 앞으로도 필드가 추가되기만 하며, 기존 필드는 이름과 의미를 그대로 유지합니다.
표 형태 데이터와 중첩
CSV와 Excel은 평면적이지만 JSON은 그렇지 않습니다. JSON이 CSV나 Excel로 바뀔 때, 중첩된 객체는 점으로 구분된 열 이름으로 펼쳐지고 배열은 번호가 붙은 열로 펼쳐지므로, 고객 객체와 항목 배열을 가진 주문 레코드는 customer.name, items[0].sku, items[1].sku 같은 열이 됩니다. CSV나 Excel이 JSON으로 다시 돌아올 때는 이런 방식으로 작성된 헤더가 중첩된 객체와 배열로 다시 만들어집니다. 버전 번호나 약어처럼 평범한 점이 포함된 헤더는 그대로 남습니다.
값은 들어올 때 타입이 지정됩니다. 숫자는 숫자가 되고, true와 false는 불리언이 되며, 빈 셀은 null이 되고, 그 외의 값은 문자열로 남습니다. Excel에서 나오는 날짜는 ISO 8601 문자열로 기록되는데, JSON에는 날짜 타입이 없기 때문입니다. 앞에 0이 붙은 식별자처럼 그대로 유지되어야 할 값이 있다면 값 타입 옵션을 텍스트로 바꾸세요.
검증과 복구
모든 JSON 도구는 같은 방식으로 입력을 검증합니다. 유효하지 않은 파일은 첫 번째 오류가 있는 줄과 열 번호, 그 줄의 짧은 발췌와 함께 거부됩니다. JSON 포매터는 사람들이 가장 자주 붙여넣는 오류도 복구할 수 있습니다. 주석, 후행 쉼표, 단일 인용부호로 감싼 문자열, 인용부호 없는 키, 대문자로 시작하는 True, False, None, NaN과 Infinity, 텍스트를 감싼 코드 펜스가 그 대상입니다. 복구가 적용되면 결과가 이를 알려주므로, 아무것도 모르는 사이에 동작이 바뀌는 일은 없습니다.
개인정보 보호
업로드된 파일과 붙여넣은 텍스트는 저희 서버에서 처리되고 60분 안에 삭제됩니다. 자세한 내용은 개인정보 보호 가이드를 참고하세요. 그 시간이 지나면 아무것도 저장되지 않으며 다른 목적으로도 사용되지 않습니다.