jq json parser notes

From thelinuxwiki
Jump to: navigation, search

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