从表单字段中转义或替换双引号
问题描述:
我的应用程序中有一个表单字段(textarea
),它可能包含双引号(""
)。对于一个JSON
String,我写了一个小的“设置”,之后发送。我遇到了这个问题,如果用户使用双引号,我的设置就会中断。从表单字段中转义或替换双引号
这是它的样子至今:
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 & """}"
而只是在那里我用它告诉你:
With http
Call .Open("POST", url, False)
Call .SetRequestHeader("Accept", "application/json")
Call .SetRequestHeader("Content-Type", "application/json")
Call .Send(payload)
End With
在这种方法中使用的变量参数在当前功能。 我想过转义双引号,但我不知何故只是在网站上建议我应该使用chr(34)
在Response.Write
,这不是我正在寻找的。
我也尝试使用Replace
功能全,类似我怎么会在PHP中做到这一点:
Replace(myvar, '"'; "'")
但正如你可能想通了,一个单引号开始在传统的ASP评论。我怎样才能摆脱这里的双引号?如果我将"
转换为'
或保留双引号,这并不重要。任何建议表示赞赏
答
如果您需要在asp中的字符串中可见的双引号,则需要将其加倍。
如果你想更换一个双引号,
str = Replace(str,"""","")
答
显示在一个JSON字符串双引号(或单引号),你需要逃避它:
str = "this is a ""test""."
strForJson = Replace(str, """", "\""")