본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

jo

0

jo는 셸 환경에서 JSON 객체와 배열을 간단하게 생성할 수 있는 명령줄 유틸리티입니다. Jan-Piet Mens가 개발한 이 오픈소스 도구는 스크립트와 자동화 작업에서 복잡한 JSON 구조를 손쉽게 만들기 위해 설계되었습니다.GPL-2.0 라이선스로 배포됩니다.

JSON 생성개발자 도구명령줄 도구셸 스크립트자동화

소개

jo는 셸 환경에서 JSON 객체와 배열을 간단하게 생성할 수 있는 명령줄 유틸리티입니다. Jan-Piet Mens가 개발한 이 오픈소스 도구는 스크립트와 자동화 작업에서 복잡한 JSON 구조를 손쉽게 만들기 위해 설계되었습니다.GPL-2.0 라이선스로 배포됩니다.

상세정보

JSON 객체 생성

명령줄에서 키와 값을 지정하여 JSON 객체를 생성할 수 있습니다. 예를 들어 jo name="jo" n=17 parser=false를 실행하면 {“name”:”jo”,”n”:17,”parser”:false} 형태의 JSON이 출력됩니다.

JSON 배열 생성

-a 옵션을 사용하여 시퀀스나 목록을 JSON 배열로 변환할 수 있습니다. 예를 들어 seq 1 10 | jo -a는 [1,2,3,4,5,6,7,8,9,10] 형태의 배열을 생성합니다.

중첩 구조 지원

다른 JSON 파일을 참조하거나 변수를 사용하여 중첩된 JSON 구조를 만들 수 있습니다. 파일에서 값을 읽어 ARG_MAX 제한을 극복할 수도 있습니다.

데이터 타입 처리

문자열, 숫자, 불리언(true/false), null 등 다양한 JSON 데이터 타입을 지원합니다. -B 옵션으로 불리언/null 처리를 비활성화할 수도 있습니다.

키 중복 관리

기본적으로 중복된 키는 추가되지만, -D 옵션을 사용하면 중복된 키를 제거하고 마지막 값만 유지할 수 있습니다.

설치·시작·기본 사용

다양한 패키지 관리자를 통해 jo를 설치할 수 있습니다.

  • Homebrew (macOS): brew install jo
  • MacPorts: sudo port install jo
  • Ubuntu: apt-get install jo
  • Fedora: dnf install jo
  • Snap (Linux): snap install jo
  • Windows (Scoop): scoop install jo
  • winget: winget install --id jpmens.jo --exact

소스 코드에서 빌드하는 경우 GitHub 저장소를 클론한 후 autoreconf -i && ./configure && make check && make install 명령을 실행합니다.

활용 예시

jo는 셸 스크립트에서 JSON 설정 파일을 생성하거나, API 요청용 JSON 페이로드를 만들거나, 명령줄 출력을 JSON으로 변환하는 데 활용할 수 있습니다. 예를 들어 파일 목록을 JSON 배열로 변환하거나, curl 출력에 추가 필드를 덧붙여 구조화된 JSON으로 만들 수 있습니다.

지원 환경·요구사항

jo는 C 언어로 작성되어 다양한 플랫폼에서 빌드 및 실행이 가능합니다. Homebrew, MacPorts, apt, dnf, snap, winget 등 여러 패키지 관리자를 통해 설치할 수 있으며, Docker 이미지도 제공됩니다.

버전·업데이트

현재 최신 버전은 1.9(2022년 11월 4일 출시)입니다. 이 버그 수정 릴리스에서는 stdin에서 긴 줄 읽기 관련 문제(#195)와 누락된 테스트 파일(#196)이 해결되었습니다.

제한·라이선스·확인사항

jo는 GPL-2.0 라이선스하에 배포되는 오픈소스 프로젝트입니다. GUI 없이 명령줄에서만 사용할 수 있으며, 기본적인 셸 사용법과 JSON 구조에 대한 이해가 필요합니다. Windows WSL2 환경에서는 git의 자동 CRLF 변환을 비활성화해야 테스트가 정상 작동합니다(git config --local core.autocrlf false).

FAQ

  • Q: jo는 무료로 사용할 수 있나요?
    A: 네, jo는 오픈소스 프로젝트로 GPL-2.0 라이선스 하에 무료로 사용할 수 있습니다.
  • Q: jo를 사용하려면 프로그래밍 언어를 알아야 하나요?
    A: jo 자체는 프로그래밍 언어를 알지 못해도 사용할 수 있는 독립형 명령줄 도구입니다. 기본적인 셸 사용법만 알고 있으면 됩니다.
  • Q: jo로 만든 JSON을 다른 프로그램에서 사용할 수 있나요?
    A: 네, jo는 표준 JSON 형식을 출력하므로 다른 JSON 처리 도구나 프로그램과 호환됩니다.

시스템 요구사항

C 컴파일러가 필요합니다. 소스 코드에서 빌드하는 경우 autoreconf, automake, autoconf가 요구됩니다. 설치된 시스템에서는 C 런타임 환경이 필요합니다.