Zastavte řetězec v jednoduchých uvozovkách, pokračujte s rozšířením proměnné, případně s dvojitými uvozovkami, a obnovte řetězec v jednoduchých uvozovkách:
--data '{"text": "'"$variable"'"}'
($variable
by se měl stále rozšiřovat na něco, co spolu s okolím tvoří legální JSON, jinak druhá strana asi nebude moc spokojená :) .)
Abych sem dal ještě jedno řešení:
curl -X POST -u "apikey:${apikey}"
--header "Content-Type: application/json"
--data "{\"text\": \"${variable}\"}"
"${url}"
V podstatě "
je citace pro zpracování následujícího řetězce společně, \"
escapuje uvozovku a ${varname}
je proměnná.
Mám tendenci používat heredocs při vytváření JSON pro použití s curl:
curl -s -X POST $URL [email protected] <<EOF
[
{
"id": 101,
"text": "$variable"
}
]
EOF