从表单字段中转义或替换双引号

问题描述:

我的应用程序中有一个表单字段(textarea),它可能包含双引号("")。对于一个JSONString,我写了一个小的“设置”,之后发送。我遇到了这个问题,如果用户使用双引号,我的设置就会中断。从表单字段中转义或替换双引号

这是它的样子至今:

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, """", "\""")