Jq Usage: Difference between revisions
Jump to navigation
Jump to search
Line 18: | Line 18: | ||
==Object Identifier-Index Filter .key== | ==Object Identifier-Index Filter .key== | ||
.key | .''key'' | ||
The filter expects a map and produces the value associated with the key given as argument of the filter, or null if there is no such object. The value, if exists, can be a primitive, a map or an array. | The filter expects a map and produces the value associated with the key given as argument of the filter, or null if there is no such object. The value, if exists, can be a primitive, a map or an array. | ||
Line 28: | Line 28: | ||
The .key syntax is actually an alias for the more generic syntax: | The .key syntax is actually an alias for the more generic syntax: | ||
.["key"] | .["''key''"] | ||
If the key contains special characters, the .key alias cannot be used, and the complete .["key"] syntax should be used: | If the key contains special characters, the .key alias cannot be used, and the complete .["key"] syntax should be used: |
Revision as of 18:43, 1 March 2019
Internal
Command Line Options
-r
Output raw strings, not JSON content.
Universal Filters
Identity Filter .
Map Filters
Object Identifier-Index Filter .key
.key
The filter expects a map and produces the value associated with the key given as argument of the filter, or null if there is no such object. The value, if exists, can be a primitive, a map or an array.
cat example.json | jq '.color'
This syntax only works for "identifier-like" keys: keys that are all made of alphanumeric characters and underscore, and which do not start with a digit.
The .key syntax is actually an alias for the more generic syntax:
.["key"]
If the key contains special characters, the .key alias cannot be used, and the complete .["key"] syntax should be used:
jq '.["complex::key"]'
For:
{
"complex::key": "something"
}
jq '.complex::key'
will fail:
jq: error: syntax error, unexpected ':', expecting $end (Unix shell quoting issues?) at <top-level>, line 1: .complex::key
while
jq '.["complex::key"]'
will work.