Sample JSON File
Sample JSON File containing well known programmers that we use for the following examples
coders.json
[
{
"name": "Bjarne Stroustrup",
"languages": [
{
"name": "C++",
"year_created": 1983
}
],
"details": {
"nationality": "Danish",
"awards": ["IEEE Computer Society Computer Pioneer Award", "Charles Stark Draper Prize"]
}
},
{
"name": "Guido van Rossum",
"languages": [
{
"name": "Python",
"year_created": 1991
}
],
"details": {
"nationality": "Dutch",
"awards": ["Free Software Foundation Award for the Advancement of Free Software", "NLUUG Award"]
}
},
{
"name": "James Gosling",
"languages": [
{
"name": "Java",
"year_created": 1995
}
],
"details": {
"nationality": "Canadian",
"awards": ["Order of Canada", "The Economist Innovation Award"]
}
},
{
"name": "Dennis Ritchie",
"languages": [
{
"name": "C",
"year_created": 1972
},
{
"name": "Unix",
"year_created": 1969
}
],
"details": {
"nationality": "American",
"awards": ["Turing Award", "National Medal of Technology"]
}
},
{
"name": "Brendan Eich",
"languages": [
{
"name": "JavaScript",
"year_created": 1995
}
],
"details": {
"nationality": "American",
"awards": ["Webby Award"]
}
}
]
Traverse array and return specific fields
The following query selects all programming languages
jq '[ .[].languages[] | {name, year_created} ]' coders.json
[
{
"name": "C++",
"year_created": 1983
},
{
"name": "Python",
"year_created": 1991
},
{
"name": "Java",
"year_created": 1995
},
{
"name": "C",
"year_created": 1972
},
{
"name": "Unix",
"year_created": 1969
},
{
"name": "JavaScript",
"year_created": 1995
}
]