Asp classic 避免在经典asp中转义objXmlHttp json字符串

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

我有一个经典的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.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包装要发送的数据的建议:

工作方式如下:

  • 在ASP sender中,执行我的令牌的Server.URLEncode(如果没有此选项,则无法工作…)

  • 在一个简单对象中使用aspJSON序列化编码的令牌(格式类似于{“token”:“myXYZtoken”}),将序列化的对象发送给我的MVC操作方法

  • 在MVC中,使用Newtonsoft JSON将反序列化的动作接收器方法转换为 动态对象

  • 在对象中找到格式正确的“token”属性


  • *注意:只有原始令牌的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反序列化。这样可以避免原始字符串的任何解码问题。