개요
jq는 JSON 데이터를 입력받아 다양한 방식으로 처리하고 출력합니다. 간단한 값 추출부터 복잡한 배열/객체 조작까지 가능하며, 스크립팅 환경에서 JSON을 다룰 때 필수적인 도구입니다.
주요 기능
- JSON 데이터 파싱 및 포맷팅
- 특정 필드 추출 및 필터링
- 배열 및 객체 조작
- 데이터 변환 및 재구성
주요 옵션
입력/출력 형식
필터링/변환
생성된 명령어:
명령어를 조합해 보세요.
설명:
`jq` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
기본 JSON 포맷팅
echo '{"name": "Alice", "age": 30}' | jq .
입력된 JSON을 읽기 쉬운 형태로 출력합니다.
특정 필드 추출
echo '{"name": "Bob", "age": 25}' | jq '.name'
JSON 객체에서 'name' 필드의 값을 추출합니다.
배열 요소에서 필드 추출
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq '.[].name'
JSON 배열 내 각 객체에서 'name' 필드를 추출합니다.
Raw 문자열 출력
echo '{"city": "Seoul"}' | jq -r '.city'
추출된 문자열 값을 따옴표 없이 출력합니다.
여러 필드 선택 및 새 객체 생성
echo '{"name": "Charlie", "age": 40, "email": "charlie@example.com"}' | jq '{name: .name, age: .age}'
기존 객체에서 'name'과 'age' 필드만 포함하는 새 객체를 생성합니다.
조건에 따른 필터링
echo '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]' | jq '.[] | select(.age >= 30)'
나이가 30 이상인 사용자만 필터링합니다.
배열 요소 변환 (map)
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq 'map(.name | ascii_upcase)'
각 사용자의 이름을 대문자로 변환합니다.