> 텍스트 처리 및 검색 > jq

jq: JSON 데이터 처리

jq는 명령줄에서 JSON 데이터를 효율적으로 처리하고 변환하는 강력한 도구입니다. JSON 데이터를 필터링, 슬라이싱, 매핑, 변환하는 데 사용되며, 복잡한 JSON 구조에서도 원하는 정보를 쉽게 추출할 수 있습니다. 파이프(|)를 통해 다른 명령과 함께 자주 사용됩니다.

개요

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)'

각 사용자의 이름을 대문자로 변환합니다.


동일 카테고리 명령어