·4분 읽기

맥용 JSON 포맷터 — 오프라인으로 작동하는 네이티브 앱

포맷되지 않은 JSON을 읽기 위해 브라우저 도구에 붙여넣는 작업은 일주일에 수십 번씩 반복하면서도 의문을 갖지 않는 워크플로입니다.

API가 한 줄로 압축된 200줄짜리 JSON 응답을 반환합니다. 중첩된 필드 하나를 찾아야 합니다. 그래서 이를 복사하고, 브라우저 탭을 열고, 수십 개의 JSON 포맷터 웹사이트 중 하나로 이동해서 붙여넣고, "Format"을 클릭한 다음 결과를 눈을 찌푸리며 들여다봅니다. 만약 JSON에 토큰이나 사용자 데이터, 내부 ID처럼 민감한 정보가 담겨 있다면, 방금 그것을 제3자 서버로 전송한 셈입니다.

이는 소프트웨어 개발에서 가장 흔한 소소한 작업 중 하나이며, 대부분의 개발자가 가장 비효율적인 방식으로 이를 처리하고 있습니다.

터미널을 이용하는 방법

macOS에는 python3이 포함되어 있어서, Terminal에서 python3 -m json.tool로 JSON을 파이프 처리할 수 있습니다. 형식이 올바른 입력에는 잘 작동합니다. 하지만 쉼표가 하나 더 붙어 있거나 하면 제대로 작동하지 않고, 형식이 잘못된 JSON에는 알아보기 힘든 오류 메시지를 내놓으며, 결과물은 터미널 창 안에 갇혀 있습니다. 구문 강조도 없고, 접었다 펼 수 있는 노드도 없고, 중첩된 경로를 빠르게 복사할 방법도 없습니다.

일부 개발자는 Homebrew를 통해 jq를 설치하는데, 더 강력하긴 하지만 또 다른 의존성이 추가되고 기본 포맷팅 이상의 작업을 하려면 쿼리 문법을 익혀야 합니다.

맥에 상주하는 네이티브 JSON 포맷터

Bellows는 41가지 내장 개발자 도구 중 하나로 JSON 포맷터를 제공합니다. 입력 창에 JSON을 붙여넣거나 입력하면 즉시 포맷팅되어 읽기 쉬운 결과물을 얻을 수 있습니다. 네트워크 연결이 필요 없습니다 — 모든 작업이 로컬에서 이루어집니다.

Bellows JSON formatter tool showing formatted output on macOS

클립보드 감지

JSON 문자열을 클립보드에 복사하고 Bellows를 엽니다. 앱이 JSON 콘텐츠를 감지해 자동으로 포맷터를 제안합니다. 메뉴를 헤맬 필요 없이, 필요한 도구가 이미 준비되어 있습니다.

더 큰 도구 모음의 일부

JSON 포맷팅은 단독으로 이루어지는 경우가 드뭅니다. Base64 문자열을 디코딩해서 JSON을 얻어야 할 수도 있고, JSON을 담고 있는 JWT 페이로드를 추출해야 할 수도 있으며, JSON 객체를 담고 있는 URL 쿼리 파라미터를 디코딩해야 할 수도 있습니다. 하나의 앱에 41가지 도구가 있으면, 서로 다른 유틸리티로 전환하지 않고도 이런 작업을 연달아 처리할 수 있습니다.

가장 필요할 때

밤 11시에 웹훅 페이로드를 디버깅할 때. 동료가 Slack에 붙여넣은 설정 파일을 검토할 때. Core Data 내보내기 파일을 살펴볼 때. 테스트를 작성하기 전에 목(mock) 응답의 구조를 확인할 때. 이런 순간이 바로 브라우저 탭을 여는 일이 가장 부담스럽게 느껴지는 때이며, 메뉴 바에 있는 네이티브 앱이 가장 큰 차이를 만드는 때입니다.

Mac App Store에서 Bellows 받기

다음 기사

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store