How can I write a bash function to extract a user defined field from JSON?
#!/bin/bash
JSON='{"field1":"field1Value","field2":"field2Value"}'
function getFieldValueFromJson {
JSON_FIELD=$1
JSON=$2
regex=".\"$JSON_FIELD\":\".*\""
key=$(echo $JSON |grep -Po $regex)
echo $key
}
getFieldValueFromJson field1 $JSON
getFieldValueFromJson field2 $JSON
Output is:
{"field1":"field1Value","field2":"field2Value"
,"field2":"field2Value"
Any idea how to solve this problem, if JSON is never pretty printed?
Edit:
OK, I can use jq but I want to solve this just with grep and regex.