jq Arrays and Objects/Set value by explicit path

Write a nested value using a path array.

Section: Paths and Deep Updates

Set value by explicit path

bash
bash
echo '{}' | jq 'setpath(["user","profile","name"]; "alice")'
Explanation

`setpath()` can create intermediate objects as needed.

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 Paths and Deep Updates
Read value by explicit path
Look up a nested value using a path array.
OpenIn sheetbashsame section
Delete multiple paths
Remove several nested paths at once.
OpenIn sheetbashsame section
Find all scalar paths
List paths that end in scalar values.
OpenIn sheetbashsame section
Get all leaf values
Return every scalar value in a document.
OpenIn sheetbashsame section
Find matching nested objects
Search recursively for objects containing a field.
OpenIn sheetbashsame section
First array item
Get the first element.
OpenIn sheetbash1 tag match