JSON 정렬
JSON 객체 키를 알파벳 순으로 정렬합니다
입력
정렬된 출력
JSON 정렬이란?
JSON 객체 키는 사양에서 순서가 정의되어 있지 않습니다. 파서와 런타임은 임의의 순서로 반환할 수 있습니다. 키를 알파벳 순으로 정렬하면 git diff, 해시 생성 또는 테스트를 위한 재현 가능한 출력이 제공됩니다. 형식에 대해서는 RFC 8259를 참조하세요.
이 도구는 JSON 객체의 키를 재귀적으로 정렬합니다. 중첩된 객체의 키도 정렬됩니다. 배열은 그대로 유지되고 객체 키만 재정렬됩니다. 처리는 브라우저에서 실행됩니다.
이 도구 사용 방법
JSON 붙여넣기
왼쪽 편집기에 JSON을 붙여넣거나 파일을 업로드하세요. 예제 데이터에는 샘플을 사용하세요. 이 도구는 모든 유효한 JSON을 허용합니다.
정렬된 출력 보기
오른쪽 패널에 키가 알파벳 순으로 정렬된 동일한 JSON이 표시됩니다. 중첩된 객체는 재귀적으로 정렬됩니다. 유효하지 않은 JSON은 오류를 표시합니다.
JSON 정렬 예제
JSON 객체 키를 알파벳 순으로 정렬하는 예제입니다. 중첩된 객체는 재귀적으로 정렬됩니다.
예제: 정렬되지 않은 키를 가진 가입자 레코드
입력 (임의의 순서의 키):
정렬된 출력:
키 순서가 중요한 경우
키가 정렬되어 있으면 git diff가 더 깨끗합니다: 변경 사항이 재정렬된 줄에 묻히지 않고 눈에 띕니다. 일부 시스템은 해싱이나 서명을 위해 JSON 직렬화를 사용합니다; 정렬된 키는 출력을 결정론적으로 만듭니다. JavaScript에서 JSON.stringify는 키 순서를 보장하지 않습니다. 이 도구는 입력 순서에 관계없이 일관된 출력을 제공합니다.
자주 묻는 질문
배열 요소도 정렬되나요?
아니요. 객체 키만 정렬됩니다. 배열 순서는 보존됩니다. 배열 요소를 정렬하면 데이터가 변경됩니다; 이 도구는 객체 내 키만 재정렬합니다.
정렬이 대소문자를 구분하나요?
일반적으로 예. 키는 알파벳 순으로 정렬되므로 "planId"와 "PlanId"는 다른 위치에 있게 됩니다. 동작을 확인하려면 출력을 확인하세요.
데이터가 어딘가로 전송되나요?
아니요. 정렬은 브라우저에서 실행됩니다.
이것이 데이터를 변경하나요?
아니요. 키의 순서만 변경됩니다. 값과 구조는 동일하게 유지됩니다. 결과는 의미적으로 동일한 JSON입니다.
사용자 정의 순서로 정렬할 수 있나요?
이 도구는 기본적으로 알파벳 순으로 정렬합니다. 사용자 정의 순서를 위해서는 코드에서 JSON을 처리하거나 다른 도구를 사용해야 합니다.
관련 도구
JSON 구문에 대해서는 RFC 8259와 MDN을 참조하세요. json.org의 JSON 사양이 형식을 정의합니다. 명령줄 처리를 위해 jq가 정렬을 지원합니다. Git diff는 정렬된 키로 더 깔끔한 비교를 합니다. JSON.stringify(), Lodash sortBy, Postman도 참조하세요.