从经典ASP发送JSON字符串到RESTful WS
问题描述:
我基本上是经典ASP和VBScript中的noob,所以我想获得一些帮助来实现我在这里的目标。我已经构建了一个JSON字符串,并且需要使用VBScript将其发送到RESTful Web服务。我怎么做?从经典ASP发送JSON字符串到RESTful WS
我有一些代码,但我不认为它的工作原理:
strJSONToSend = JSONstr 'this is where I use my built JSON string
webserviceurl = "url here"
Set objRequest = Server.createobject("MSXML2.XMLHTTP.3.0")
objRequest.open "POST", webserviceurl, False
objRequest.setRequestHeader "Content-Type", "application/json; charset=UTF-8"
objRequest.setRequestHeader "CharSet", "utf-8"
objRequest.setRequestHeader "SOAPAction", webserviceurl
Set objJSONDoc = Server.createobject("MSXML2.DOMDocument.3.0")
objJSONDoc.loadXml strJSONToSend
objRequest.send objJSONDoc
set objJSONDoc = nothing
set objResult = nothing
答
你并不需要将JSON转换为XML(因为它是JSON和XML不是所有):
strJSONToSend = JSONstr 'this is where I use my built JSON string
webserviceurl = "url here"
Set objRequest = Server.createobject("MSXML2.XMLHTTP.3.0")
objRequest.open "POST", webserviceurl, False
objRequest.setRequestHeader "Content-Type", "application/json; charset=UTF-8"
objRequest.setRequestHeader "CharSet", "utf-8"
objRequest.setRequestHeader "SOAPAction", webserviceurl
objRequest.send strJSONToSend
set objJSONDoc = nothing
set objResult = nothing
什么不正确?代码看起来很好。不需要将JSON转换为XML,就像Nathan指出的那样。 – 2012-04-17 08:59:07
顺便说一下,使用'MSXML2.ServerXMLHTTP.3.0'。 XMLHTTP不应该用在服务器端代码中。你也确定你需要创建这个“CharSet”头文件,通常“Content-Type”指定了实体主体的字符集,并且你已经这样做了。 – AnthonyWJones 2012-04-17 13:10:32