Ryan Patrick
Ryan Patrick

Reputation: 3

Classic ASP - Parse JSON XMLHTTP Return

I am having trouble finding a good way to parse the return I'm getting from XMLHTTP. The return is JSON.

ASP Code used to GET JSON:

<%@ Language=VBScript %>
<%
Set xmlhttp = CreateObject("Msxml2.ServerXMLHTTP.6.0")
xmlhttp.open "GET", "http://someip:8080/Publisher/Titles/Paging/0,0,tc?output=json", 0
xmlhttp.send ""
Response.AddHeader "Content-Type", "application/json;charset=UTF-8"
Response.Charset = "UTF-8"
pageReturn = xmlhttp.responseText

Set xmlhttp = Nothing 
response.write pageReturn
%>

Returned JSON

{
 "Titles": {
  "resultCount": 37886,
  "moreResources": true
 }
}

I need to display just the value of "resultCount" to the screen. Any help would be greatly appreciated.

Upvotes: 0

Views: 12860

Answers (1)

John
John

Reputation: 4663

You can look at aspjson for handling JSON with VBScript

http://code.google.com/p/aspjson/

You can also use Javascript as your classic asp server side scripting language, which would involve you rewriting your server http request in Javascript, but it would make the json part of the page much easier.

You can even use VBS and JS in the same page, eg

<%@ Language=javascript %>

<script language="VBScript" runat="server">
Set xmlhttp = CreateObject("Msxml2.ServerXMLHTTP.6.0")
xmlhttp.open "GET", "http://someip:8080/Publisher/Titles/Paging/0,0,tc?output=json", 0
xmlhttp.send ""
Response.AddHeader "Content-Type", "application/json;charset=UTF-8"
Response.Charset = "UTF-8"
pageReturn = xmlhttp.responseText    
Set xmlhttp = Nothing     
</script>

<% var resultcount = pageReturn.Titles.resultCount;
   var moreresources = pageReturn.Titles.moreResources;
%>


<html>
<body>

<%=resultcount%>, <%=moreresources%>
</body>
</html>

Upvotes: 3

Related Questions