Bonjour,
Je dois envoyer un json (que j'ai en string) sur un webhook. Ce json est entièrement variable, jamais le même, et peut contenir des apostrophes.
Or, l'apostrophe marque la fin de l'argument curl. Donc quand mon json comporte une apostrophe, le shell plante.
Cet exemple plante :
Avec pour erreur, logique :
Retirer l'apostrophe de "l'avion" passe sans aucun problème.
J'ai essayé d'entourer mon json de " plutôt que de '. Et à ce moment là, j'ai aussi une erreur, car forcément, cette fois c'est les guillemets du json qui ne passent pas...
Quelqu'un aurait-il une idée pour faire passer cette apostrophe ? (Quelque chose du genre faire passer ' à l'intérieur d'une chaine dans des ' ')
Merci d'avance pour vos réponses et pistes de recherche
Je dois envoyer un json (que j'ai en string) sur un webhook. Ce json est entièrement variable, jamais le même, et peut contenir des apostrophes.
Or, l'apostrophe marque la fin de l'argument curl. Donc quand mon json comporte une apostrophe, le shell plante.
Cet exemple plante :
Bloc de code:
set lien to "https://webhooklink"
set json to "{\"mot 1\":\"l'avion\",\"mot 2\":\"Jean-Michel\"}"
set lePost to do shell script "curl -d '" & json & "' -H \"Content-Type: application/json\" -X POST" & lien
Bloc de code:
error "sh: -c: line 0: unexpected EOF while looking for matching `\"'
sh: -c: line 1: syntax error: unexpected end of file" number 2
Retirer l'apostrophe de "l'avion" passe sans aucun problème.
J'ai essayé d'entourer mon json de " plutôt que de '. Et à ce moment là, j'ai aussi une erreur, car forcément, cette fois c'est les guillemets du json qui ne passent pas...
Quelqu'un aurait-il une idée pour faire passer cette apostrophe ? (Quelque chose du genre faire passer ' à l'intérieur d'une chaine dans des ' ')
Merci d'avance pour vos réponses et pistes de recherche