Jerry2 Jerry2 -3 years ago 169
JSON Question

How to access JSON data in classic ASP using json2.asp or aspjson libraries?

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.

Answer Source

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




%>
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download