WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   asp json hämta info från sickbeard (https://www.wn.se/forum/showthread.php?t=1058215)

spyvingen 2013-06-11 18:04

asp json hämta info från sickbeard
 
Kanske är jag som är dum men jag har testat detta script https://raw.github.com/nagaozen/asp-...sers/json2.asp

Kod:

<!--#include file="json2.asp" -->
<%
url = "http:......."
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
    xmlhttp.open "GET", url, false
    xmlhttp.send ""
    xmlString = xmlhttp.responseText
set xmlhttp = nothing

response.write xmlString &"<hr>"

set Info = JSON.parse(xmlString)
response.write info

for each key in Info.keys()
    Response.write key
next

set Info = nothing
%>

och skall parsa denna json jag får från sickbeard
Kod:

{
    "data": [
        {
            "date": "2013-06-11 11:14",
            "episode": 24,
            "provider": "P0W4",
            "quality": "SD TV",
            "resource": "Castle.2009.S02E24.A.Deadly.Game.HDTV.XviD-P0W4.avi",
            "resource_path": "E:\\_dl\\Sickbeard",
            "season": 2,
            "show_name": "Castle (2009)",
            "status": "Downloaded",
            "tvdbid": 83462
        },
        {
            "date": "2013-06-11 11:13",
            "episode": 23,
            "provider": "P0W4",
            "quality": "SD TV",
            "resource": "Castle.2009.S02E23.HDTV.XviD-P0W4.avi",
            "resource_path": "E:\\_dl\\Sickbeard",
            "season": 2,
            "show_name": "Castle (2009)",
            "status": "Downloaded",
            "tvdbid": 83462
        },
        {
            "date": "2013-06-11 11:13",
            "episode": 22,
            "provider": "P0W4",
            "quality": "SD TV",
            "resource": "Castle.2009.S02E22.HDTV.XviD-P0W4.avi",
            "resource_path": "E:\\_dl\\Sickbeard",
            "season": 2,
            "show_name": "Castle (2009)",
            "status": "Downloaded",
            "tvdbid": 83462
        }
    ],
    "message": "",
    "result": "success"
}

Det jag då får ut är data, message, result.

Man jag kan inte begripa hur jag skall skriva om koden för att gå ner ett steg och istället lista allt som ligger under data.

Alltså jag vill göra en loop som ger mig ett serieavsnitt i varje loop så jag kan skriva ut vilket avsnitt med mera det är för varje avsnitt.

Snälla hjälp mig har inte programmerat på länge nu :)
Tänkte göra en sida som listar alla mina favoriter om det kommit ett nytt episode och sedan göra det en klickbar länk så jag direkt kan starta det via min hemsida som jag nu då försöker knåpa ihop.

Men har aldrig använt json och fattar inte logiken i json :)


Edit : Finns det enklara sätt att få ut den info jag är ute efter så är jag idel öra :)

allstars 2013-06-12 08:37

http://stackoverflow.com/questions/1...son2-js-object

spyvingen 2013-06-12 13:04

Som sagt, längesedan jag kodade nu.

Koden i första inlägget där hänger jag inte med mycket på kan jag säga och något bättre exempel på iteration som det verkar heta finns inte heller.

Kan jag med det script jag använder kör en liknande loop som jag gjort men gå ned ett steg så vore jag väldigt tacksam för exempel på hur detta skall göras.
Känner mig helt nollad nu när jag inte använt asp på så länge. Resten av funktionaliteten på sidna lär jag få ihop med db med mera men just JSON har jag aldrig stött på innan.

allstars 2013-06-12 13:36

Jag läste nog den sidan för snabbt, sorry.

http://www.aspjson.com/
Detta ser ut som ett hyfsat bibliotek för vbscript.

spyvingen 2013-06-12 14:44

Testade den med men på raden
Kod:

For Each subItem In oJSON.data("address")
Får jag felet
Kod:

Microsoft VBScript runtime error '800a01c3'

Object not a collection

/sickbeard/testjson.asp, line 24

Så antar att jag behöver göra något med min "xmlString = xmlhttp.responseText" innan jag kan anväda datat i den koden som är föreslagen.

Nått tips om vad jag kan ha missat?
Och vad skall jag i min loop göra för att komma ner på serienivå testat att skriva data istället för adress efterosm min json inte innehåller adress men hjälpe inte mitt case tyvärr.

allstars 2013-06-12 17:07

har du en nod som heter "address" då?

Prova oJSON.data("data")

spyvingen 2013-06-13 08:03

Citat:

Ursprungligen postat av allstars (Inlägg 20471808)
har du en nod som heter "address" då?

Prova oJSON.data("data")

Jag skrev det i mitt förra inlägg.
Citat:

Ursprungligen postat av spyvingen (Inlägg 20471800)
testat att skriva data istället för adress efterosm min json inte innehåller adress men hjälpe inte mitt case tyvärr.


Conny Westh 2013-06-13 12:14

Gör om koden till en code-behind-class så kan du debugga mycket bättre i Visual Studio.

Skapa en simpel Console Application som anropar din klass och skriver ut resultatet på consolen då kan du följa hela exekveringen och kika på innehållet i variablerna, det blir 100 gånger enklare att se vad som är fel.

Det är ju hopplöst att debugga VB-scrip (eller andra script-språk) i webbsidor....

Conny Westh 2013-06-13 13:08

Prova Prova oJSON.data("resource") ....

spyvingen 2013-06-13 15:01

Det värsta är att jag aldrig använt visualstudio heller har bara kört asp i textredigeringsapp som notepad++ eller motsvarande.

FUngerar inte med oJSON.data("resource") heller :(


Alla tider är GMT +2. Klockan är nu 11:55.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson