Skip to content

Instantly share code, notes, and snippets.

@walquis
Created September 26, 2022 17:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save walquis/fb24850f16137a64931f61db0cc286ad to your computer and use it in GitHub Desktop.
Save walquis/fb24850f16137a64931f61db0cc286ad to your computer and use it in GitHub Desktop.
https://stackoverflow.com/questions/24698188/flatten-a-json-document-using-jq
I want to transform this...
{
"Research Data Management": [
{
"id": 2597547,
"title": "Data Engineer, Research Data Management"
},
{
"id": 3580145,
"title": "DevOps, Research Data Management"
},
{
"id": 3671657,
"title": "Market Data Systems Engineer"
}
]
}
...to this:
{
{ team: "Research Data Management", "id": 2597547, "title": "Data Engineer, Research Data Management" },
{ team: "Research Data Management", "id": 3580145, "title": "DevOps, Research Data Management" },
etc...
}
# Courtesy of Nick Prendergast, 1 April 2022 (no fooling)
#
jq '[. | to_entries[] | .key as $team | .value[] | { "team": $team } + .]' /tmp/data.json
[
{
"team": "Research Data Management",
"id": 2597547,
"title": "Data Engineer, Research Data Management"
},
{
"team": "Research Data Management",
"id": 3580145,
"title": "DevOps, Research Data Management"
},
{
"team": "Research Data Management",
"id": 3671657,
"title": "Market Data Systems Engineer"
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment