MODOO HUB ← 모두의 툴
Dev · Instrument

JSON 평탄화

중첩 JSON → 단일 레벨 키-값 쌍으로 즉시 변환

JSON 입력
구분자:
결과

JSON 평탄화란?

중첩된 JSON 객체를 단일 레벨의 키-값 쌍으로 변환합니다. 예: {"user":{"name":"Alice"}} → {"user.name":"Alice"}. 데이터베이스 저장, 환경변수 설정, 검색 인덱싱, 스프레드시트 내보내기 등 다양한 용도에 활용됩니다. 역변환(Unflatten)으로 다시 중첩 구조로 복원할 수 있습니다.

자주 묻는 질문

배열도 평탄화되나요?

배열은 인덱스를 사용해 key.0, key.1 형태로 평탄화됩니다. 예: {"tags":["a","b"]} → {"tags.0":"a","tags.1":"b"}.

구분자를 변경할 수 있나요?

점(.) 대신 _(언더스코어), /(슬래시) 등 다른 구분자를 사용할 수 있습니다. 환경변수나 특정 시스템 형식에 맞게 조정하세요.

역변환(Unflatten)이란?

평탄화된 JSON을 다시 중첩 구조로 복원합니다. {"user.name":"Alice"} → {"user":{"name":"Alice"}}.

null 값은 어떻게 처리되나요?

null은 그대로 보존됩니다. {"a":{"b":null}} → {"a.b":null}.

평탄화 활용 사례는?

MongoDB dot notation 쿼리 작성, 환경변수 설정(A_B_C 형태), 스프레드시트 컬럼 변환, Redux 상태 관리, i18n 번역 키 생성 등에 유용합니다.

키에 구분자가 포함된 경우는?

키에 구분자(예: "user.name"이 키 자체인 경우) 포함되면 평탄화 시 모호성이 생길 수 있습니다. 구분자를 다른 문자로 변경하거나 역변환 시 주의가 필요합니다.

빈 객체·빈 배열은?

빈 객체{}와 빈 배열[]은 키를 생성하지 않고 건너뜁니다.

대용량 JSON 처리 가능한가요?

브라우저 내에서 처리하므로 수 MB 이상의 대용량은 성능이 저하될 수 있습니다. 일반적인 설정 파일 크기는 문제 없습니다.