JSON 평탄화 도구
브라우저에서 로컬로 실행중첩 JSON을 경로 키로 평탄화하고 다시 중첩 구조로 복원
중첩 JSON
JSON Flattener가 하는 일
JSON Flattener는 중첩된 객체와 배열을 user.address.city나 users[0].name 같은 한 단계의 경로 키로 바꾸고, 그 키로부터 중첩 JSON을 다시 만듭니다. 평탄한 키는 설정 시스템, 번역 파일, 스프레드시트 열, 검색 인덱스, 깊게 중첩된 데이터에서 읽기 어려운 diff에 유용합니다. 문자열, 숫자, 불리언, null, 빈 객체, 빈 배열은 타입을 그대로 유지하며, 9007199254740993처럼 JavaScript 정밀도를 넘는 숫자도 원래 자릿수 그대로 씁니다.
사용 방법
- 1.평탄화 또는 복원을 고른 뒤 JSON을 붙여넣거나 .json 파일 하나를 업로드하거나 끌어다 놓거나 예제를 불러옵니다.
- 2.구분자(. / _ __)와 배열 인덱스를 대괄호(items[0])로 쓸지 구분자(items.0)로 쓸지 선택합니다.
- 3.평탄화 모드에서는 출력 형식으로 JSON 객체, 키=값 줄, 환경 변수 중 하나를 고릅니다.
- 4.왕복 검사 결과와 문제 목록을 확인합니다. 각 문제에는 관련 경로가 정확히 표시됩니다.
- 5.결과를 복사하거나 flattened.json, unflattened.json, flattened.txt, flattened.env를 내려받습니다. 반대 방향을 확인하려면 "이 결과 복원"을 사용하세요.
충돌, 경로 충돌, 왕복 검사
평탄화는 모든 키가 원래 경로로 다시 해석될 때만 되돌릴 수 있습니다. 이미 구분자를 포함한 키(예: 마침표 구분자에서 "a.b")나 같은 평탄한 키를 만드는 두 경로는 두 경로와 함께 보고됩니다. 첫 번째 값을 유지하며 경고 없이 사라지는 데이터는 없습니다. 복원할 때도 한 경로가 값이면서 객체여야 하는 경우(user와 user.name), 배열 끝에서 너무 먼 인덱스, 배열의 빈 자리를 보고하고 빈 자리는 null로 채웁니다. JSON을 출력할 때마다 역변환을 실행해 결과를 비교하므로 "왕복 확인됨"은 약속이 아니라 실제 검사 결과입니다.
환경 변수, 제한 사항, 개인정보
환경 변수 이름은 대문자로 바뀌고, camelCase 단어는 _로 나뉘며, 악센트는 제거되고, A–Z와 0–9 이외의 문자는 _가 됩니다. 그래서 database.primary.port는 DATABASE_PRIMARY_PORT가 됩니다. 숫자로 시작하는 이름에는 _를 붙이고, 겹치는 이름은 보고합니다. 키=값과 환경 변수 출력은 단방향 형식입니다. 정수처럼 보이는 객체 키는 JavaScript 정렬 방식에 따라 먼저 나오고, 256단계보다 깊은 중첩은 하나의 값으로 유지하며, 2 MB를 넘는 입력은 기본 동작을 선택할 때 처리합니다. 모든 처리는 브라우저에서 이루어지며 JSON은 업로드되지 않습니다.
