jq Arrays and Objects/Create object from array items

Index objects by a field.

Section: Entries and Key-Value Maps

Create object from array items

bash
bash
echo '[{"id":"u1","name":"alice"},{"id":"u2","name":"bob"}]' | jq 'map({key: .id, value: .name}) | from_entries'
Explanation

Convenient for building lookup tables.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Entries and Key-Value Maps
Filter object entries by value
Remove entries below a threshold.
OpenIn sheetbashsame section
Rename keys with entries
Rename object keys during transformation.
OpenIn sheetbashsame section
Create grouped object
Group items by key and emit object buckets.
OpenIn sheetbashsame section
Map object values
Transform each value while keeping keys unchanged.
OpenIn sheetbashsame section
First array item
Get the first element.
OpenIn sheetbash1 tag match
Object values
Return all object values as an array.
OpenIn sheetbash1 tag match