Skip to content

Jq

jq is a lightweight and flexible command-line JSON processor.

About

jq는 JSON 데이터를 위한 sed와 같습니다.

  • 즉, sed, awk, grep 등의 도구들이 텍스트를 다루는 것처럼, jq는 구조화된 데이터를 쉽게 자르거나 필터링하고, 매핑하거나 변환하는 작업을 수행할 수 있습니다.
  • jq는 이식 가능한 C 언어로 작성되었으며, 실행 시 의존성(runtime dependencies)이 없습니다. 단일 바이너리를 다운로드하여 동일한 종류의 원격 시스템에 scp로 전송하면 바로 작동할 수 있습니다.
  • jq는 최소한의 노력으로 현재의 데이터 형식을 원하는 형식으로 변환할 수 있으며, 이를 위한 프로그램은 종종 짧고 간결하게 작성할 수 있습니다.

Example

  • .info.datas[0].meta

Object 추가 방법

cat fruits.json | jq '. += {"vegetable" : { "name" : "brinjal" }}'

키의 값을 키로 사용

echo '{"name": "merry", "friends": ["mia","ava"]}' | jq -c '{(.name): .friends}'

결과:

{"merry":["mia","ava"]}

결과를 문자열로 병합하여 사용하는 방법

[
  {"key": "name", "value": "John"},
  {"key": "age", "value": 30},
  {"key": "city", "value": "New York"}
]
cat data.json | jq -r '.[] | "\(.key)=\(.value)"'

결과:

name=John
age=30
city=New York

See also

  • Json
  • htmlq - Like jq, but for HTML.
  • Fq - 바이너리 포맷을 위한 jq
  • pyjq - A Python binding for ./jq
  • jqpy - Python bindings for jq
  • jq.py - JQpy is Python binding for JQ (JSON processing language) that simply works on any platform (even Windows) and does not require compilation.
  • jmespath
  • jsonpath-ng
  • jsonschema

Favorite site

Online Tools