我的应用程序中有一个表单字段(textarea
),可能包含双引号(""
)。对于JSON
- 字符串,我写了一个小的#34;设置",然后发送。我遇到了问题,如果用户使用双引号,我的设置会中断。
到目前为止它是这样的:
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
的网站上,这不是我正在寻找的内容。&n。 / p>
我也试过使用Replace
- 函数,类似于我在PHP中这样做:
Replace(myvar, '"'; "'")
但正如你可能想到的那样,单引号在经典ASP中开始发表评论。我怎样才能摆脱这里的双引号?如果我将"
转换为'
或保留双引号并不重要。任何建议表示赞赏
答案 0 :(得分:0)
如果在asp中的字符串中需要可见的双引号,则需要加倍。
Response.Write("""")
如果您想要替换双引号,
str = Replace(str,"""","")
答案 1 :(得分:0)
要在json字符串中显示双引号(或单引号),您需要将其转义:
str = "this is a ""test""."
strForJson = Replace( str, """", "\""" )