JSON 서식 지정 및 검증
JSON을 읽기 쉽게 만들고, 구문을 확인하거나 간결한 버전을 만들어 보세요. 이 가이드는 들여쓰기, 키 정렬, 결과 저장 방법을 설명합니다.
제공된 샘플 사용하기
order-options.json을 다운로드하세요. 상품 두 개가 들어 있는 가상의 주문이며 필드 이름은 영어입니다. customer 객체는 이름과 도시를 묶고, items 배열에는 CARD-02 다음에 BOX-01이 들어 있습니다. 샘플에는 따옴표로 묶인 텍스트, 숫자형 수량과 가격, 불리언 true, 빈 배송 메모를 나타내는 null이 포함됩니다. 정렬 옵션의 효과를 보여 주기 위해 필드를 일부러 정렬하지 않았습니다.
단계별 사용 방법
- JSON 서식 지정 및 검증 도구를 여세요. 파일으로 제공된 order-options.json을 열거나 파일 내용을 입력값에 붙여 넣으세요.
- 들여쓰기를 2로 설정해 단계마다 공백 두 개를 사용하세요. 처음 실행할 때는 객체 키 정렬를 선택하지 마세요.
- 입력 처리를 선택하세요. 도구는 결과를 보여 주기 전에 JSON 구문을 확인합니다. 오류가 나오면 행과 열을 참고해 문제를 찾고, 입력을 수정한 뒤 다시 실행하세요.
- 결과를 읽어 보세요. customer 객체와 상품 두 개가 한 줄에 하나의 필드 또는 목록 항목으로 표시되어 이해하기 쉬워야 합니다. 정렬을 선택하지 않으면 필드는 샘플의 순서를 유지합니다.
- 결과 다운로드를 선택해 formatted.json을 저장하세요. 텍스트 복사로 결과를 다른 편집기에 옮길 수도 있습니다.
- 다운로드한 파일을 텍스트 편집기에서 열고 아래 점검 항목에 따라 샘플과 비교하세요. 그런 다음 다른 들여쓰기와 정렬 옵션을 시도하고, 바꿀 때마다 입력 처리를 다시 선택하세요.
변경 전후 예시
이 짧은 예시들은 order-options.json의 customer 객체를 작은 JSON 문서로 보여 줍니다. 각 설정을 적용하기 전후의 같은 이름과 도시를 비교하세요. 마지막의 선택 사항인 참고 섹션에는 전체 주문이 나옵니다.
간결한 JSON을 읽기 쉽게 만들기
들여쓰기를 2로 설정하고 객체 키 정렬를 선택하지 않은 채 입력 처리를 선택하세요. 결과에 줄바꿈과 단계별 공백 두 개가 추가되며 필드의 원래 순서는 유지됩니다.
변경 전: 간결한 입력
{"customer":{"name":"Zoë","city":"Bergen"}}변경 후: 공백 두 개 들여쓰기
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}객체 안의 키 정렬하기
들여쓰기를 2로 유지하고 객체 키 정렬를 선택한 다음 입력 처리를 선택하세요. customer 안에서 city가 이제 name보다 앞에 옵니다. 두 값은 그대로입니다.
변경 전: 원래 키 순서
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}변경 후: 정렬된 객체 키
{
"customer": {
"city": "Bergen",
"name": "Zoë"
}
}JSON을 간결하게 만들기
들여쓰기에서 축소를 고르고 객체 키 정렬를 선택하지 않은 채 입력 처리를 선택하세요. 서식용 공백과 줄바꿈이 없어지고 텍스트와 필드 순서는 그대로 유지됩니다.
변경 전: 공백 두 개 들여쓰기
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}변경 후: 축소
{"customer":{"name":"Zoë","city":"Bergen"}}들여쓰기 선택하기
| 옵션 | 기능 |
|---|---|
| 2 | 중첩 단계마다 공백 두 개를 사용합니다. 주요 사용 단계에서 쓰는 설정입니다. |
| 4 | 중첩 단계마다 공백 네 개를 사용해 중첩 객체와 배열을 더 뚜렷하게 표시합니다. |
| ↹ | 중첩 단계마다 탭 하나를 사용합니다. 탭의 표시 너비는 텍스트 편집기에 따라 달라집니다. |
| 축소 | 서식용 공백과 줄바꿈을 제거합니다. 따옴표로 묶인 텍스트 안의 공백은 그 텍스트의 일부로 남습니다. 간결한 결과를 원하면 이 옵션을 고른 뒤 입력 처리를 선택하세요. |
입력이나 옵션을 바꾸면 이전 결과가 지워집니다. 새 설정으로 결과를 만들려면 입력 처리를 다시 선택하세요. 도구는 매번 입력 영역을 읽으며 이전 결과를 자동으로 입력에 다시 넣지 않습니다.
객체 키 정렬하기
각 객체의 원래 필드 순서를 유지하려면 객체 키 정렬를 선택하지 마세요. 선택하면 배열 안의 객체를 포함해 문서 전체의 키를 대소문자를 구분하는 텍스트 순서로 정렬합니다. 배열 항목 자체는 원래 순서를 유지합니다.
- 들여쓰기를 2로 유지하고 객체 키 정렬를 선택한 다음 입력 처리를 선택하세요.
- 최상위 키는 이제 customer, deliveryNote, items, order, paid 순서입니다. customer 안에서는 city가 name보다 앞에 옵니다. 각 상품에서는 price가 quantity와 sku보다 앞에 옵니다.
- items 배열에는 여전히 CARD-02 다음에 BOX-01이 있습니다. 키 정렬은 상품을 sku나 가격순으로 정렬하지 않습니다.
복사, 다운로드, 다시 시작하기
| 옵션 | 기능 |
|---|---|
| 텍스트 복사 | 현재 결과를 텍스트로 복사합니다. 복사할 수 없으면 도구가 결과를 선택해 수동으로 복사할 수 있게 합니다. |
| 결과 다운로드 | 현재 결과를 formatted.json으로 저장합니다. 서식 지정, 간결화, 정렬 결과가 모두 같은 파일 이름을 사용하므로 여러 버전을 보관하려면 파일 이름을 바꾸세요. |
| 결과 인쇄 | 결과 텍스트를 위한 브라우저 인쇄 대화상자를 엽니다. |
| 예제 불러오기 | 입력을 도구의 내장 예제로 바꾸고 현재 설정으로 처리합니다. 이 예제는 가이드의 order-options.json과 다릅니다. |
| 모두 삭제 | 입력, 선택한 파일, 결과를 지웁니다. 들여쓰기와 정렬 설정은 유지됩니다. |
다운로드한 JSON 확인하기
- 텍스트 편집기에서 formatted.json을 여세요. 주문이 ORD-1042이고 고객이 Bergen의 Zoë이며 상품이 두 개 있는지 확인하세요.
- 값과 자료형을 확인하세요. quantity는 숫자 2 다음에 1이고 가격은 19.50과 5.00을 유지합니다. paid는 따옴표 없는 불리언 true이고 deliveryNote는 따옴표 없는 null입니다. 따옴표로 묶인 이름과 상품 코드는 문자열로 남습니다.
- 객체 키 정렬를 사용한 뒤 위에서 설명한 필드 순서를 확인하고, items 배열에서 CARD-02가 여전히 BOX-01보다 앞에 있는지 확인하세요.
- 축소와 입력 처리를 사용해 보세요. 결과를 입력값에 다시 붙여 넣고 들여쓰기를 2로 설정한 다음 입력 처리를 다시 선택하세요. 값과 상품 순서를 원래 샘플과 비교하세요. 서식 옵션은 이들을 보존해야 합니다.
질문 및 문제 해결
왜 잘못된 JSON이라고 표시되나요?
표시된 행과 열, 그리고 그 위치 바로 앞의 필드를 확인하세요. 키와 텍스트에는 큰따옴표가 필요하고 필드에는 쉼표와 콜론이 필요하며 대괄호와 중괄호는 닫혀야 합니다. 입력을 수정하고 입력 처리를 다시 선택하세요. 검증은 JSON 구문을 확인하므로 유효한 결과에도 앱에서 요구하는 필드가 빠져 있을 수 있습니다.
주석이나 마지막 쉼표를 사용할 수 있나요?
주석과 닫는 대괄호 또는 중괄호 바로 앞의 쉼표를 제거하세요. JSON에서는 허용되지 않습니다. 서식 도구는 유효한 입력을 요구하며 자동으로 수정하지 않습니다.
중복 키 경고는 무슨 뜻인가요?
‘반복된 객체 키를 보존했습니다. 일부 프로그램은 반복 키를 버립니다.’ 메시지는 같은 객체에 어떤 키가 두 번 이상 있다는 뜻입니다. 서식 도구는 해당 항목을 유지하고 경고합니다. 원본을 검토해 의도한 값을 고르고 추가 항목을 제거하세요. 다른 앱은 그중 하나만 유지할 수 있습니다.
왜 파일이 열리지 않거나 처리되지 않나요?
입력 제한은 2 MiB, 즉 2,097,152바이트입니다. 로컬 텍스트 파일은 UTF-8이어야 합니다. 데이터가 너무 복잡하다고 표시되면 중첩 깊이나 항목 수를 줄이세요. 큰 입력은 객체나 배열 중간을 자르지 말고 더 작고 완전한 JSON 문서로 나누세요.
긴 숫자가 다른 앱에서 왜 바뀌나요?
아래의 별도 정밀도 샘플에는 9007199254740993과 0.10000000000000001이 있습니다. 이 서식 도구는 모든 들여쓰기와 정렬 옵션에서 숫자의 텍스트를 정확히 유지합니다. exact-numbers.json을 서식 지정하고 텍스트 편집기에서 exact-numbers-formatted.json과 비교하세요. 결과를 가져오는 앱은 여전히 숫자를 반올림할 수 있으므로 필요한 정밀도를 지원하는지 확인하세요. 00123처럼 앞에 0이 있는 코드는 JSON에서 따옴표로 묶인 문자열이어야 합니다.
서식 지정으로 이미 반올림된 자릿수를 복원할 수 있나요?
텍스트가 도구에 도착하기 전에 반올림되거나 삭제된 자릿수는 서식 지정으로 복원할 수 없습니다. 원본으로 돌아가 전체 값을 다시 내보내세요. 값이 수량이 아니라 식별자라면 문자열을 사용해 수신 앱에서 자릿수를 유지하도록 도울 수 있습니다.
선택 사항: 샘플과 참고 결과 비교하기
이 코드 예시와 다운로드 파일은 도구 페이지와 같은 서식 도구로 order-options.json에서 생성했습니다. 서식 지정 및 간결화 참고 결과는 키 정렬이 꺼져 있고, 정렬 참고 결과는 공백 두 개 들여쓰기와 켜진 정렬을 사용합니다.
원래 샘플
{"order":"ORD-1042", "customer": {"name":"Zoë","city":"Bergen"}, "items":[{"sku":"CARD-02", "quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1, "price":5.00}], "paid":true, "deliveryNote":null}
공백 두 개; 원래 키 순서
{
"order": "ORD-1042",
"customer": {
"name": "Zoë",
"city": "Bergen"
},
"items": [
{
"sku": "CARD-02",
"quantity": 2,
"price": 19.50
},
{
"sku": "BOX-01",
"quantity": 1,
"price": 5.00
}
],
"paid": true,
"deliveryNote": null
}축소; 원래 키 순서
{"order":"ORD-1042","customer":{"name":"Zoë","city":"Bergen"},"items":[{"sku":"CARD-02","quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1,"price":5.00}],"paid":true,"deliveryNote":null}공백 두 개; 정렬된 객체 키
{
"customer": {
"city": "Bergen",
"name": "Zoë"
},
"deliveryNote": null,
"items": [
{
"price": 19.50,
"quantity": 2,
"sku": "CARD-02"
},
{
"price": 5.00,
"quantity": 1,
"sku": "BOX-01"
}
],
"order": "ORD-1042",
"paid": true
}| 참고 파일 | 설정 | 바이트 |
|---|---|---|
| order-formatted.json | 공백 두 개; 원래 키 순서 | 300 |
| order-minified.json | 축소; 원래 키 순서 | 193 |
| order-sorted.json | 공백 두 개; 정렬된 객체 키 | 300 |
실제 텍스트 결과이며 인터페이스 스크린샷이 아닙니다. 코드는 화면 너비에 맞춰 줄바꿈되어 표시될 수 있습니다. 참고 파일 이름은 예시를 구분하며, 도구 자체는 모든 버전을 formatted.json으로 다운로드합니다.