Skip to content

Instantly share code, notes, and snippets.

@gigabyteservice
Forked from IAmStoxe/loop-json.sh
Created April 10, 2022 16:50
Show Gist options
  • Save gigabyteservice/378a3220a088844ae4e011faffcac20b to your computer and use it in GitHub Desktop.
Save gigabyteservice/378a3220a088844ae4e011faffcac20b to your computer and use it in GitHub Desktop.
This example shows you how to utilize jq to loop bash script through an array of JSON values.
jsonData='[{"name": "name#1","value": "value#1"},{"name": "name#2","value": "value#2"}]'
for row in $(echo "${jsonData}" | jq -r '.[] | @base64'); do
_jq() {
echo "${row}" | base64 --decode | jq -r "${1}"
}
# OPTIONAL
# Set each property of the row to a variable
name=$(_jq '.name')
value=$(_jq '.value')
# Utilize your variables
echo "$name = $value"
done
# $ stoxe@box:~$ ./loop-json-test.sh
# name#1 = value#1\
# name#2 = value#2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment