ASP调用WebService转化成JSON数据,可以通过以下步骤完成:
- 创建一个WebService
在Visual Studio中创建一个WebService项目,添加一个Web服务方法,例如:
[WebMethod]
public string HelloWorld(string name)
{
return "Hello " + name;
}
- 配置WebService为允许使用GET方式调用
在WebService项目的Web.config文件中添加以下代码:
<webServices>
<protocols>
<add name="HttpGet"/>
</protocols>
</webServices>
- 编写转换JSON数据的ASP代码
在ASP代码中使用下面的代码对WebService返回的XML数据进行转换:
<%
Dim req As Object
Dim xmldoc As Object
Dim strResp As String
Dim strUrl As String
strUrl = "http://localhost/YourWebService.asmx/HelloWorld?name=World"
Set req = Server.CreateObject("Msxml2.XMLHTTP")
req.Open "GET", strUrl, False
req.Send
Set xmldoc = Server.CreateObject("Msxml2.DOMDocument")
xmldoc.loadXML req.responseText
strResp = xmldoc.selectSingleNode("string").Text
Response.Buffer = True
Response.ContentType = "application/json"
Response.Write "{""HelloWorld"":""" & strResp & """}"
%>
- 调用ASP代码并获取JSON数据
在网页中使用JavaScript代码调用ASP代码:
<script type="text/javascript">
var xmlhttp;
if (window.XMLHttpRequest)
xmlhttp=new XMLHttpRequest(); //for IE7+, Firefox, Chrome, Opera, Safari
else
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //for IE6, IE5
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var myObj = JSON.parse(xmlhttp.responseText);
document.getElementById("helloworld").innerHTML = myObj.HelloWorld;
}
}
xmlhttp.open("GET","json.min.asp",true);
xmlhttp.send();
</script>
这个JavaScript代码将调用ASP代码并获取转换后的JSON数据,在网页上显示"Hello World"。
示例说明:
- 获取天气信息
可以通过调用天气API获取城市的天气信息,然后将返回的XML数据转换为JSON数据,并在网页中显示。
- 获取商品信息
可以通过调用电商平台的Web服务获取商品的信息,然后将返回的XML数据转换为JSON数据,并在网页中显示。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP调用WebService转化成JSON数据,附json.min.asp - Python技术站