Here is my sample test.json file
[
{
"description": "Some description",
"name": "Some name",
"summary": "Some summary. "
},
{
"description": "Some description",
"name": "Some name",
"summary": "Some summary. "
},
{
"description": "Some description",
"name": "Some name",
"summary": "Some summary. "
}
]
Here is the bash script
declare -A values=( )
while IFS= read -r value; do
echo "Read $value" >&2
#echo $value | curl -d @- -H "Content-Type: application/json" https://example.com/api/foo
done < <(jq -r '.[]' <$1)
This is the output that I get
Read {
Read "description": "Some description",
Read "name": "Some name",
Read "summary": "Some summary. "
Read }
Read {
Read "description": "Some description",
Read "name": "Some name",
Read "summary": "Some summary. "
Read }
Read {
Read "description": "Some description",
Read "name": "Some name",
Read "summary": "Some summary. "
Read }
I want to use the JSON objects in the file, to POST data to an API using curl. I would expect the loop to run three times.
How do I get entire JSON object (resulting in the loop running 3 times) instead of outputting every single line from the test.json file?