Difference between revisions of "jq json parser notes"
From thelinuxwiki
| Line 4: | Line 4: | ||
select | select | ||
| − | { | + | file... |
| − | "json": { | + | |
| − | "table": [ | + | { |
| − | { | + | "json": { |
| − | "name": "foo", | + | "table": [ |
| − | "color": "green" | + | { |
| − | }, | + | "name": "foo", |
| − | { | + | "color": "green" |
| − | "name": "bar", | + | }, |
| − | "color": "blue" | + | { |
| − | } | + | "name": "bar", |
| − | ] | + | "color": "blue" |
| − | } | + | } |
| − | } | + | ] |
| + | } | ||
| + | } | ||
| + | |||
$ '''cat json.json | jq '.json.table[] | select (.name == "foo")'''' | $ '''cat json.json | jq '.json.table[] | select (.name == "foo")'''' | ||
Latest revision as of 16:41, 14 June 2025
jq manual
jq Manual (development version)
select
file...
{
"json": {
"table": [
{
"name": "foo",
"color": "green"
},
{
"name": "bar",
"color": "blue"
}
]
}
}
$ cat json.json | jq '.json.table[] | select (.name == "foo")'
{
"name": "foo",
"color": "green"
}
Regular expressions
test(val), test(regex; flags)
Like match, but does not return match objects, only true or false for whether or not the regex matches the input
example:
$cat .tmp.json | jq '"HAHAHA 123" | test("hahaha.*[0-9]{3}"; "i")'
true