Ich habe ein Formularfeld (textarea
) in meiner Anwendung, die doppelte Anführungszeichen (""
) enthalten kann. Für einen JSON
-String habe ich ein kleines "Setup" geschrieben, das danach gesendet wird. Ich stieß auf das Problem, dass, wenn ein Benutzer die doppelten Anführungszeichen verwendet, mein Setup bricht.Escape oder ersetzen doppelte Anführungszeichen aus Formularfeld
Dies ist, wie es wie bisher aussieht:
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 & """}"
Sie
Und nur um zu zeigen, wo ich bin mit ihm:
With http
Call .Open("POST", url, False)
Call .SetRequestHeader("Accept", "application/json")
Call .SetRequestHeader("Content-Type", "application/json")
Call .Send(payload)
End With
Die in diesem Verfahren verwendeten Variablen Argumente in der aktuellen werden Funktion. Ich dachte daran, doppelte Anführungszeichen zu entkommen, aber ich komme irgendwie auf Websites, die vorschlagen, dass ich chr(34)
in einem Response.Write
verwenden sollte, was nicht das ist, wonach ich suche.
Ich habe auch versucht die Replace
-function, ähnlich zu verwenden, wie ich dies in PHP tun würde:
Replace(myvar, '"'; "'")
Aber wie Sie heraus kann ein Single-Zitat beginnt einen Kommentar im klassischen ASP. Wie kann ich die Anführungszeichen hier loswerden? Es spielt keine Rolle, ob ich "
in '
umwandle oder die doppelten Anführungszeichen behalte. Jeder Vorschlag wird geschätzt