I have the following JSON file with example values:
{ "files": [{ "fileName": "FOO", "md5": "blablabla" }, { "fileName": "BAR", "md5": "alaldlafj" }] }
Now what I want is to return the md5 value where for example the fileName is "FOO". For this I have the following statement in jq
:
cat <file>.json | jq '.[] | select(.fileName=="FOO")'
However response back is: jq: error (at <stdin>:11): Cannot index array with string "fileName"
What is the correct way to return the md5 value where the key fileName equals a certain argument?
Found the answer:
cat <file>.json | jq -r '.files[] | select(.fileName=="FOO") | .md5'
or:
cat <file>.json | jq -r '.files[] | select(.fileName=="FOO").md5'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With