How should I retrieve PitcherID from this JSON? I am using the class from http://aspjson.com.
JSON
[
{
\"PitcherID\": \"456068\"
The problem is the class from http://aspjson.com is limited and personally I've always found it hard to find decent examples of how to use it.
Object not a collection
error?It's quite simple really the object you are trying to iterate through like an array / collection is not one.
This line
For Each thing In oJSON.data("PitcherID")
will fail because oJSON.data("PitcherID")
is not a collection object which means you cannot iterate through it. For PitcherID
to be enumerable the source JSON structure would look more like this
{
"PitcherID": [
"456068",
"431148"
]
}
for example.
In my experience it's far easier to just use JScript as your server side scripting language than to use the aspjson class. You could render your JSON object as follows
<%@language="javascript"%>
<!DOCTYPE html>
<html>
<body>
<%
var oJSON =[
{
"PitcherID": "456068"
},
{
"PitcherID": "431148"
}
]
for (i in oJSON)
{
Response.write((oJSON[i].PitcherID) + "<br />");
}
%>
</body>
</html>
I realise that this may cause problems if the json processing is only part of a page and the rest of it uses VBScript, however you can execute server side JS in what is otherwise a VBS page by using <script runat="server">
eg
<%@language="VBScript"%>
<!DOCTYPE html>
<html>
<head>
<script language="javascript" runat="server">
var oJSON =[
{
"PitcherID": "456068"
},
{
"PitcherID": "431148"
}
]
var strout = ""
for (i in oJSON)
{
strout = strout + ((oJSON[i].PitcherID) + "<br />");
}
</script>
</head>
<body>
<% Response.write strout %>
</body>
</html>