mygems

JSON Editor: Smart Json

JSON 문서 하나를 세 가지 뷰로, 모두 편집 가능.

  • 편집기, 트리, 그래프
  • 실시간 JSONPath
  • 구조 비교
  • 오프라인, 계정 없음

만든 이유

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

휴대폰 화면 다섯 개: API 응답을 노드 링크 그래프로 그린 화면, 같은 문서를 개요 트리로 본 화면, 그래프 위에 열린 인라인 노드 편집기, 노드 두 개와 일치하는 JSONPath 필터 표현식, 개요에서 키 이름을 바꾸는 화면.

서로 연결된 세 가지 뷰, 기준은 하나

같은 문서를 구문 강조 편집기, 접을 수 있는 트리, 인터랙티브 그래프로 볼 수 있고, 모두 편집할 수 있습니다. 기준은 텍스트입니다. 트리와 그래프에서 고친 내용은 따로 추적하지 않고 텍스트로 다시 직렬화하므로 서로 어긋나지 않습니다.

편집기

  • 입력한 부분만 다시 토큰화하는 구문 강조라 빠르게 유지됩니다.
  • 줄 번호, 줄 바꿈, 글꼴 크기 설정.
  • 키보드 위 기호 막대: 중괄호, 대괄호, 따옴표, 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 일치 항목을 새 문서로 추출, 쿼리 기록과 저장된 쿼리, 패치 내보내기가 있는 텍스트 비교, 변환 결과 저장과 공유가 해당됩니다.