Asp classic 避免在经典asp中转义objXmlHttp json字符串
我有一个经典的asp页面,它从web服务检索编码的令牌,如下所示:Asp classic 避免在经典asp中转义objXmlHttp json字符串,asp-classic,Asp Classic,我有一个经典的asp页面,它从web服务检索编码的令牌,如下所示: objXmlHttp.Open "POST", "http://some_web_service", False objXmlHttp.SetRequestHeader "Content-Type", "application/json" objXmlHttp.Send something If objXmlHttp.Status = 200 Then response.write ("objXmlHttp.Respon
objXmlHttp.Open "POST", "http://some_web_service", False
objXmlHttp.SetRequestHeader "Content-Type", "application/json"
objXmlHttp.Send something
If objXmlHttp.Status = 200 Then
response.write ("objXmlHttp.ResponseText:"&objXmlHttp.ResponseText)
我在我的objXmlHttp.ResponseText中看到斜杠是这样转义的
"...rVw1s\/Qn30..." (see "\" and "/" after "s").
"...rVw1s\\/Qn30...", that breaks.
当我通过查询字符串(Response.Redirect)将这个令牌发送到另一个web应用程序的asp.net mvc控制器时,我收到它时也会使用反斜杠转义,如下所示
"...rVw1s\/Qn30..." (see "\" and "/" after "s").
"...rVw1s\\/Qn30...", that breaks.
如果可能的话,我不想在asp(发送令牌)和asp.net mvc(接收令牌)中进行替换
在经典asp中,是否可以避免在objXmlHttp中接收转义斜杠
或者可能我做错了什么或遗漏了什么…感谢@Lankymart提供关于Json包装要发送的数据的建议: 工作方式如下:
*注意:只有原始令牌的Server.URLEncode没有在Json对象中包装,因此无效。什么是objXmlHttp的实例?(在ASP.Net应用程序中,如果您在调试器中检查字符串,它将在显示该字符串时添加双转义符,但它们实际上不在字符串本身中)@AlexK。使用objXmlHttp的页面不是ASP.Net,它是经典的ASP(ASP 3.0)。我的意思是,如果您将任何内容的
aa\tbb
发送到ASP.Net mvc应用程序,在调试器中,您将看到aa\\tbb
好的,明白了,您的意思是拥有它可能是正确的,但我如何在接收mvc控制器时删除反斜杠。。。因为正确的标记只有正斜杠。。。有什么解码方法吗?或者干脆替换它?@Falco如果你要发送JSON,它应该按照序列化JSON的规则序列化,然后使用内置的.Net序列化或Newtonsoft的JSON.Net反序列化。这样可以避免原始字符串的任何解码问题。