Given a list of objects, with many keys I don't want:
[{
"name": "Alice",
"group": "Admins",
"created": "2014"
}, {
"name": "Bob",
"group": "Users",
"created": "2014"
}]
How do I filter these objects to only include keys I want?
[{
"name": "Alice"
}, {
"name": "Bob"
}]
I've tried jq '.[].name'
but that extracts the values, rather than preserving the objects.
You can use the map()
function to filter any key:
jq 'map({name: .name})'
Suggested by @WilfredHughes
: The above filter can be abbreviated as follows:
jq 'map({name})'