Skip to content
json
dog.json
{
  "name": "Buster",
  "breed": "Golden Retriever",
  "age": "4",
  "owner": {
    "name": "Sally"
  },
  "likes": [
    "bones",
    "balls",
    "dog biscuits"
  ]
}
bash
cat dog.json | jq '.'
# returns the whole json

cat dog.json | jq '.name'
"Buster"

cat dog.json | jq '.breed'
"Golden Retriever"

cat dog.json | jq '.age'
"4"

cat dog.json | jq '.owner'
{
  "name": "Sally"
}

# access nested field
cat dog.json | jq '.owner.name'
"Sally"

Array

bash
# likes is an array
cat dog.json | jq '.likes'
[
  "bones",
  "balls",
  "dog biscuits"
]
cat dog.json | jq '.likes[]'
"bones"
"balls"
"dog biscuits"

# Specific item (1st) from the array
cat dog.json | jq '.likes[0]'
"bones"

Combine filters

json
names.json
[
  {
    "id": 1,
    "name": "Arthur",
    "age": "21"
  },
  {
    "id": 2,
    "name": "Richard",
    "age": "32"
  }
]
bash
cat names.json | jq '.[] | .name'
"Arthur"
"Richard"

cat names.json | jq '.[] | .name, .age'
"Arthur"
"21"
"Richard"
"32"

# Advanced
cat names.json | jq '.[] | "\(.name), \(.id)"'
"Arthur, 1"
"Richard, 2"