问题
Using http://www.aspjson.com/ or https://github.com/nagaozen/asp-xtreme-evolution/blob/master/lib/axe/classes/Parsers/json2.asp object I managed to get my data from URL to the dictionary object. But I tried and can not think of the way to get the data from the "opening" object using aspjson :-( I have not managed to find a way to get any data using json2.asp library. Here is my data:
{
"restaurant": {
"id": 6,
"email": "xyz@gmail.com",
"visiblemail": "1",
"date": "2014-07-24 07:38:59",
"logo": "818_294.png",
"img": "818_554|818_558|818_563",
"opening": {
"sun": [
"closed"
],
"mon": [
"10.00",
"20.00"
],
"tue": [
"10.00",
"20.00"
],
"wed": [
"10.00",
"20.00"
],
"thu": [
"10.00",
"20.00"
],
"fri": [
"10.00",
"20.00"
],
"sat": [
"closed"
],
"hol": [
"zaprto"
]
},
"timetable": null
}
}
I know both libraries use dictionary object to store the data, but I am lost how do I retrieve the data from the object.
回答1:
You can use the isObject check to see if the element has inner members.
The include file used is from the link you gave
<!--#include file="aspJSON1.17.asp" -->
<%
Set oJSON = New aspJSON
jsonstring = "{ "&_
"""restaurant"": {"&_
"""id"": 6,"&_
"""email"": ""xyz@gmail.com"","&_
"""visiblemail"": ""1"","&_
"""date"": ""2014-07-24 07:38:59"","&_
"""logo"": ""818_294.png"","&_
"""img"": ""818_554|818_558|818_563"","&_
"""opening"": {"&_
" ""sun"": ["&_
" ""closed"""&_
" ],"&_
" ""mon"": ["&_
" ""10.00"","&_
" ""20.00"""&_
" ],"&_
" ""tue"": ["&_
" ""10.00"","&_
" ""20.00"""&_
" ],"&_
" ""wed"": ["&_
" ""10.00"","&_
" ""20.00"""&_
" ],"&_
" ""thu"": ["&_
" ""10.00"","&_
" ""20.00"""&_
" ],"&_
" ""fri"": ["&_
" ""10.00"","&_
" ""20.00"""&_
" ],"&_
" ""sat"": ["&_
" ""closed"""&_
" ],"&_
" ""hol"": ["&_
" ""zaprto"""&_
" ]"&_
"},"&_
"""timetable"": null"&_
"}"
'Load JSON string
oJSON.loadJSON(jsonstring)
set restaurant = oJSON.data("restaurant")
for each itm in restaurant
if Not IsObject(restaurant.item(itm)) then
Response.write itm &" : "& restaurant.item(itm) & "<br/>"
else
'opening
for each dayy in restaurant.item(itm)
Response.write dayy & ":"
Response.write restaurant.item(itm)(dayy)(0)
If restaurant.item(itm)(dayy)(1) <> "" Then
Response.write " - "
Response.write restaurant.item(itm)(dayy)(1)
End If
Response.write "<br/>"
next
end if
next
%>
来源:https://stackoverflow.com/questions/24974362/how-to-access-json-data-in-classic-asp-using-json2-asp-or-aspjson-libraries