Jq: Difference between revisions
From wikinotes
No edit summary |
(→Usage) |
||
Line 30: | Line 30: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</blockquote><!-- Basics --> | </blockquote><!-- Basics --> | ||
== Comments == | |||
<blockquote> | |||
Neither [[json]] nor <code>jq</code> support comments.<br> | |||
You could pre-process the object to strip them, however. | |||
If you'll never use <code>#</code> in keys/values you could do the following: | |||
<syntaxhighlight lang="bash"> | |||
echo ' ◀±[master] | |||
{ | |||
"one": 1, # foo bar baz | |||
# description of key | |||
"two": 2 | |||
}' | sed 's/#.*$??' | jq '.one' | |||
</syntaxhighlight> | |||
</blockquote><!-- Comments --> | |||
</blockquote><!-- Usage --> | </blockquote><!-- Usage --> |
Revision as of 15:25, 28 August 2021
parse json on the commandline.
Documentation
official docs https://stedolan.github.io/jq/manual/ homepage https://stedolan.github.io/jq/
Usage
Basics
# print w/ syntaxhighlighting echo '{"one": 1, "two": {"a": "A"}}' | jq # get key ["one"] echo '{"one": 1, "two": {"a": "A"}}' | jq '.one' # 1 # get nested-key ["two"]["a"] echo '{"one": 1, "two": {"a": "A"}}' | jq '.two.a' # "A" # get list item at index 1 echo '["a", "b", "c"]' | jq '.[1]' # "b"Comments
Neither json nor
jq
support comments.
You could pre-process the object to strip them, however.If you'll never use
#
in keys/values you could do the following:echo ' ◀±[master] { "one": 1, # foo bar baz # description of key "two": 2 }' | sed 's/#.*$??' | jq '.one'