JSON Key 기준 정렬

로컬 처리
app.sort.view

다음으로도 #data={"name":"Ada"} 또는 #url=... 데이터를 넣을 수 있으며, 읽은 뒤 주소 표시줄에서 지워집니다.

사용 방법

필드 이름으로 객체 Key를 정렬해 두 번 내보낸 JSON을 비교하기 쉽게 합니다. 많은 직렬화 구현은 Key 순서를 보장하지 않아, 정렬 후 Diff가 훨씬 깨끗합니다. 정렬 결과를 Git에 넣어 의미 없는 키 순서 흔들림을 줄일 수도 있습니다.

재귀 정렬

중첩 객체 안의 키도 이름으로 정렬됩니다. 깊은 설정을 한 번에 처리해 층마다 손으로 정리할 필요가 없습니다.

정렬 규칙은 키 이름 사전순이라 언어·도구를 넘나들어도 안정된 출력을 얻기 쉽습니다.

배열 원소는 재정렬하지 않음

목록 순서는 보통 업무 의미가 있어 기본은 원래 순서를 유지합니다. 타임라인, 단계, 순위표 같은 배열은 값 기준으로 정렬되지 않습니다.

객체 키만 정규화하고 목록은 건드리지 않으려면, 포맷에서 슬쩍 켜는 것보다 이 페이지가 더 분명합니다.

Diff와 함께 쓰기

먼저 정렬한 뒤 비교하면 「사실 키 순서만 다른」 잡음을 줄입니다. 양쪽을 정렬한 뒤 Diff 페이지에 붙여넣으세요.

포맷 페이지에도 「Key 정렬」 옵션이 있어 효과는 비슷하고, 이 페이지는 그 한 가지에 집중합니다.

예시

정렬 전
{
  "z": 1,
  "a": { "n": 2, "m": 1 },
  "m": 3
}
정렬 후
{
  "a": {
    "m": 1,
    "n": 2
  },
  "m": 3,
  "z": 1
}
문자열도 사전순으로 정렬되나요?

객체의 키는 이름으로 정렬되고, 문자열 값은 정렬되지 않습니다.

안정적인가요?

같은 입력을 여러 번 정렬하면 같은 키 순서가 나와 Git에 넣기 좋습니다.

배열 순서를 바꾸나요?

배열 원소는 재정렬하지 않습니다. 객체 키만 정렬됩니다.

한글 키 이름은 어떻게 정렬되나요?

JavaScript 기본 문자열 비교를 따릅니다. 한글과 영문이 섞이면 순서가 가나다 습관과 완전히 같지 않을 수 있으니 팀에서 통일하면 됩니다.

권장 워크플로

  1. 내용은 같지만 키 순서가 뒤섞인 JSON 두 개를 각각 붙여넣어 정렬하세요.
  2. 결과를 복사한 뒤 Diff 페이지에서 비교하세요.
  3. 저장하거나 스냅샷 테스트에 쓸 때는 정렬된 버전을 규범 출력으로 삼으세요.
  4. 업무 배열에 순서 의미가 있으면, 목록을 뒤섞는 다른 스크립트로 바꾸지 마세요.

정렬은 「객체 키 정규화」를 위한 것이며 범용 데이터 정리가 아닙니다. 빈 값 제거와 마스킹은 정리 페이지를 쓰세요.