JSON Editor: Smart Json
JSON 문서 하나를 세 가지 뷰로, 모두 편집 가능.
- 편집기, 트리, 그래프
- 실시간 JSONPath
- 구조 비교
- 오프라인, 계정 없음
만든 이유
휴대폰의 JSON 앱 대부분은 편집기라는 이름만 단 뷰어입니다. 예쁘게 정렬하고 접어 주는 것이 전부입니다. Smart Json은 다른 앱에 없는 뷰에서 출발합니다. 키, 타입, 값을 탭해서 바꿀 수 있는 노드 링크 그래프입니다. 그리고 텍스트를 유일한 기준으로 삼아 정확성을 지킵니다. 세 가지 뷰 중 어디서 편집해도 나머지 둘이 따라옵니다. 문서와 어긋날 수 있는 뷰는 없느니만 못하기 때문입니다.

서로 연결된 세 가지 뷰, 기준은 하나
같은 문서를 구문 강조 편집기, 접을 수 있는 트리, 인터랙티브 그래프로 볼 수 있고, 모두 편집할 수 있습니다. 기준은 텍스트입니다. 트리와 그래프에서 고친 내용은 따로 추적하지 않고 텍스트로 다시 직렬화하므로 서로 어긋나지 않습니다.
편집기
- 입력한 부분만 다시 토큰화하는 구문 강조라 빠르게 유지됩니다.
- 줄 번호, 줄 바꿈, 글꼴 크기 설정.
- 키보드 위 기호 막대: 중괄호, 대괄호, 따옴표, true, false, null, 들여쓰기, 실행 취소, 다시 실행.
- 잘못된 JSON은 문제와 줄, 열을 알려 주는 쉬운 말 안내가 나타납니다.
- 이동을 탭하면 해당 위치로 커서가 가고, 수정을 탭하면 주석, 끝의 쉼표, 작은따옴표, 따옴표 없는 키를 고쳐 줍니다.
트리
- 들여쓰기 가이드, 타입 배지, 하위 항목 수가 있는 접이식 개요.
- 키와 값 전체 검색, 타입별 필터.
- 모든 노드를 그 자리에서 편집: 이름 변경, 타입 변경, 순서 변경, 복제, 추가, 삭제.
그래프
- 왼쪽에서 오른쪽, 또는 위에서 아래로 정리된 노드 링크 다이어그램.
- 핀치로 확대·축소, 이동, 노드를 탭해 펼치기, 화면에 맞추기.
- 노드를 탭하면 바로 아래에 편집기가 열립니다. 그래프에서도 보기만 하지 않고 편집합니다.
- 전체 펼치기, 지정한 깊이까지 펼치기, 하위 트리 하나만 펼치기.
- 그래프를 PNG 또는 SVG로 내보내기.
필요한 것 찾기
- 모든 뷰에 공통 검색 막대가 있고, 편집기에서는 대소문자 구분과 처음으로 돌아가 검색을 지원합니다.
- 트리와 그래프에서는 범위와 타입 필터를 쓴 구조 검색으로 결과를 차례로 넘겨 볼 수 있습니다.
- JSONPath는 실시간으로 평가되고, 일치하는 항목이 편집기, 트리, 그래프에 동시에 강조됩니다.
- 필터 표현식을 포함한 RFC 9535의 문서화된 부분 집합을 지원합니다.
비교와 변환
- 열려 있는 문서를 파일, 클립보드, URL과 비교합니다.
- 텍스트가 아니라 구조를 비교하므로 서식만 바뀐 것은 변경으로 보지 않습니다.
- 바뀐 하위 트리는 그래프에서 색으로 표시되고, 배열 요소는 식별자가 있으면 그것으로 짝을 맞춥니다.
- 문서를 YAML, CSV, TOML, XML로 미리 볼 수 있으며, 각 형식이 표현하지 못하는 것도 분명하게 알려 줍니다.
JSON 가져오기와 내보내기
- iCloud Drive와 파일 앱의 파일을 열고, 제대로 된 저장과 이름 변경을 지원합니다.
- 클립보드 또는 URL에서 문서를 시작할 수 있고, 요청에 직접 헤더를 지정할 수 있습니다.
- 공유 확장으로 어떤 앱에서든 JSON을 받을 수 있고, JSON5 파일도 열립니다.
- 정렬, 압축, 키 정렬, 자동 수정, JSON 문자열 리터럴의 이스케이프와 이스케이프 해제.
- 모든 작업을 실행 취소·다시 실행할 수 있고, 문서마다 기록 하나를 모든 뷰가 공유합니다.
제대로 만들었습니다
iPhone과 iPad용 네이티브 SwiftUI로, 키보드를 완전히 지원하며 라이트·다크 모드를 모두 지원합니다. 직접 만든 파서가 키 순서를 보존하고 숫자 리터럴을 쓴 그대로 유지하므로, 변환을 왕복해도 잃는 것이 없습니다. 완전히 오프라인으로 동작합니다. 계정도, 로그인도, 분석도 없고, 데이터가 기기 밖으로 나가지 않습니다.
자주 묻는 질문
- 그래프에서 편집할 수 있나요, 보기만 되나요?
- 편집할 수 있습니다. 노드를 탭하면 바로 아래에 편집기가 열려 키, 타입, 값을 바꾸고 하위 항목을 추가하거나 노드를 삭제할 수 있습니다. 그래프에서 고친 내용은 텍스트로 다시 직렬화되므로 편집기와 트리도 함께 맞춰집니다.
- 세 가지 뷰가 서로 어긋나는 일은 없나요?
- 없습니다. 텍스트가 유일한 기준이고 트리와 그래프의 편집 내용은 텍스트로 다시 직렬화되므로, 나머지 두 뷰도 항상 같은 문서를 보여 줍니다.
- JSONPath를 지원하나요?
- 네. 표현식을 입력하면 실시간으로 평가되고, 일치하는 항목이 편집기, 트리, 그래프에 동시에 강조됩니다. 필터 표현식을 포함한 RFC 9535의 문서화된 부분 집합을 구현합니다.
- 비교 기능은 무엇을 비교하나요?
- 텍스트가 아니라 구조를 비교합니다. 열려 있는 문서를 파일, 클립보드, URL과 비교할 수 있고, 서식만 바뀐 것은 변경으로 잡히지 않습니다. 바뀐 하위 트리는 그래프에서 색으로 표시되며, 배열 요소는 식별자가 있으면 그것으로 짝을 맞춥니다.
- 어떤 형식으로 변환할 수 있나요?
- YAML, CSV, TOML, XML로 변환할 수 있으며, 각 미리보기에 그 형식이 표현하지 못하는 것이 분명히 표시됩니다. 그래프는 PNG 또는 SVG로도 내보낼 수 있습니다.
- 무료 기능과 Pro 기능은 무엇인가요?
- 모든 기능의 결과 계산과 표시는 무료입니다. Pro는 그 결과를 보관하는 기능입니다. JSONPath 일치 항목을 새 문서로 추출, 쿼리 기록과 저장된 쿼리, 패치 내보내기가 있는 텍스트 비교, 변환 결과 저장과 공유가 해당됩니다.