J'ai un champ de formulaire (textarea
) dans mon application, qui peut contenir des guillemets (""
). Pour un JSON
-String, j'ai écrit un petit "setup", qui est envoyé après. J'ai rencontré le problème, que si un utilisateur utilise les guillemets doubles, mon installation se brise.échapper ou remplacer les guillemets de formulaire-champ
Voici comment il ressemble à ce jour:
dim payload
payload = payload & "{""short_description"":""" & Replace(Replace(trim(shortDesc),chr(10),""), chr(13), "") & ""","
payload = payload & """description"":""" & Replace(Replace(trim(Description),chr(10),""), chr(13), "") &""","
payload = payload & """u_requester"":"""& sgi &""","
payload = payload & """contact_type"":""Self-service"","
payload = payload & """cmdb_ci"":""" & system &""","
payload = payload & """u_category"":""" & category & """}"
Et juste pour vous montrer où je l'utilise:
With http
Call .Open("POST", url, False)
Call .SetRequestHeader("Accept", "application/json")
Call .SetRequestHeader("Content-Type", "application/json")
Call .Send(payload)
End With
Les variables utilisées dans cette méthode sont des arguments dans le courant fonction. Je pensais à échapper les guillemets, mais je finis par me retrouver sur des sites qui suggèrent que je devrais utiliser chr(34)
dans un Response.Write
, ce qui n'est pas ce que je cherche.
J'ai essayé aussi d'utiliser le Replace
-fonction, comme la façon dont je le faire en PHP:
Replace(myvar, '"'; "'")
Mais comme vous compris, un guillemet simple commence un commentaire en ASP classique. Comment puis-je me débarrasser des doubles guillemets ici? Peu importe si je convertis "
en '
ou garde les guillemets. Toute suggestion est appréciée