Difference between revisions of "jq json parser notes"

From thelinuxwiki
Jump to: navigation, search
 
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