im en utilisant python3, j'envoie une requête de post Curl à mon API:
"['a1','b2']"
3 Réponses :
Voulez-vous laisser la console imprimer aussi les guillemets? p>
Si oui, vos données JSON doivent être {"Tags": "\" [\ 'A1 \', \ 'B2 \'] \ ""} P> P>
{"tags"}: "\" [\ 'A1 \', \ 'B2 \'] \ "" code> Ce n'est pas un format JSON, comment puis-je l'appliquer?
La chaîne est "\" [\ 'A1 \', \ 'b2 \'] \ "" code>
et oops que je désactive le } code>. Cela devrait être au dernier.
Merci, j'ai fini par l'envoyer comme ceci: Curl --Header "Application de type de contenu / JSON" --Request Post -Data {"Tags": "[\ 'A1 \', \ 'B2 \' ] " code>
Si Ma préférence serait d'utiliser une expression régulière, mais il n'est pas possible d'écrire un sans savoir quelle éventuelle tag peut ressembler à. P> Data ['Tags'] Code> est une chaîne, je peux penser à plusieurs solutions possibles: P>
' code> autour de chaque étiquette dans un
chaîne li>
[ code> à
[' code>,
, code> sur
', ' code> et
] code> à
'] code>. Bien sûr, celui-ci dépend de l'absence d'espaces
entre les étiquettes. LI>
Le problème n'est pas du côté python, et même pas du côté de la curl; Au lieu de cela, il s'agit de savoir comment la coquille interprète la ligne de commande avant de passer les arguments à courburer. Vous pouvez voir ce qui se passe si vous utilisez sorties: p> Vous ne pouvez pas simplement utiliser des guillemets simples à l'intérieur d'une chaîne délimitée par ces mêmes guillemets simples. Ma première pensée était d'échapper aux citations simples pour résoudre le problème, mais je ne trouve pas un moyen de le faire. Par conséquent, je pense qu'il est préférable d'utiliser des guillemets doubles comme des délimiteurs de chaîne et d'échapper aux citations doubles dans la chaîne (avec une barre oblique inverse), comme: p> sorties: P> > modifiant la commande CURL à ceci devrait fonctionner: p> assez encombrant si vous me demandez, mais je ne me le demande pas voir une meilleure façon. p> p> echo code> au lieu de
curl code>: