jq 사용법: 설치, JSON 키 필터, 배열 map, curl 파이프

jq 설치, JSON 필드 추출, 배열 map, curl 파이프로 API 응답을 짧게 보기.

REST API나 CI 로그를 볼 때 jq로 터미널에서 JSON을 걸러내고 변형할 수 있습니다. macOS·Linux·Windows 설치, 필드 추출, 배열 map, curl 파이프를 hereink 독자용으로 정리합니다.

검색어는 jq로 JSON 처리하고 curl과 파이프하기. 설치, .key, map, API 응답 축약까지 다룹니다.

설치brew / apt / winget
필터.field · .[] · select
파이프curl -s … | jq

jq가 해결하는 것

json.tool보다 유연

Python json.tool은 포맷만. jq는 .data.items[0].id만 출력, 배열 필터, 중첩 flatten 가능.

curl과 짝

API 본문은 수백 줄인 경우가 많습니다. | jq '.field'로 필요한 키만 남깁니다.

확인: jq --version. 공식: jqlang.org, GitHub jqlang/jq.

세 OS에 jq 설치

  1. 1
    macOS(Homebrew)

    brew install jq. which jq, jq --version.

  2. 2
    Linux

    Debian/Ubuntu: sudo apt update && sudo apt install jq. Fedora: sudo dnf install jq. Arch: sudo pacman -S jq.

  3. 3
    Windows

    winget install jqlang.jq 또는 choco install jq. 새 터미널에서 jq --version.

  4. 4
    첫 필터

    echo '{"ok":true}' | jq .ok → true.

키 필터와 배열 map

echo '{"user":{"name":"Lin"}}' | jq .user.name
echo '{"items":[{"id":1},{"id":2}]}' | jq '.items[]'
echo '{"items":[{"id":1},{"id":2}]}' | jq '.items | map(.id)'
echo '[{"k":"a","v":1},{"k":"b","v":2}]' | jq '[.[] | select(.v > 1)]'

필터는 작은따옴표로. 점 .은 현재 JSON, []는 배열 반복.

curl 파이프

상황예메모
공개 APIcurl -s https://api.github.com/repos/jqlang/jq | jq '{name, stars: .stargazers_count}'필요 필드만
원시 문자열curl -s … | jq -r '.token'-r로 따옴표 제거
한 줄 JSONcurl -s … | jq -c '.items[]'줄당 객체 하나
맞음
REST 필드 확인, 컨테이너 JSON 로그 필터, CI 메타데이터 파싱.
안 맞음
대용량 JSON 제자리 편집; 비 JSON 텍스트.
parse error는?

입력이 유효 JSON이 아님. jq . 단독 테스트. NDJSON은 jq -s.

Windows에서 jq를 못 찾나요?

터미널 재시작. where jq.

jq와 yq가 같나요?

아닙니다. jq는 JSON 전용.

필드 정리 후 한 장에

API 구조가 보여도 경계는 한 그림이 낫습니다. 공간 만들기.

지금 시작