tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
226
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kiloui Kiloui ist offline Mitglied Bronze
    Registriert seit
    Feb 2009
    Beiträge
    34
    Hi,
    ich lese mittels einer JSP Daten aus einer Oracle Datenbank und gebe diese dann in JSON Syntax zurück. Anschließend hole ich mir diese Daten per Ajax Request in meine Index.html.

    Die Daten sehen wie folgt aus:
    {"CALLSIGN_OTHER_AIRPLANE":["CAJUN02","CAJUN01","JEUS1","JEUS1"],"ALTITUDE_MSL":["14774.7","13837.2","27366","28088.2"],"CALLSIGN":["CAJUN01","CAJUN02","JEUS1","JEUS1"],"H_DIST_IN_METER":["177.91832","177.91832","783.002","783.002"],"V_DIST_IN_FEET":["937.5","937.5","722.2","722.2"],"TIME_OF_DAY_UTC_MS":[null,null,null,null],"TTL":["5","5","5","5"],"MANEUVER":["0","0","0","0"],"LATITUDE":["49.414925","49.416325","48.11217","48.116978"],"SPEED_VERTI_FTMIN":["-8438.63","-8749.04","-498.134","1150.69"],"TIME_STAMP":["1970-01-01 18:49:39.847","1970-01-01 18:49:39.847","1970-01-01 18:49:39.847","1970-01-01 18:49:39.847"],"TIME_LAST_UPDATE_MS":["67777250","67776508","67775813","67775820"],"TIME_TAG_MS":["67779847","67779847","67779847","67779847"],"HEADING_DEG":["193.224","250.908","10.732","9.26098"],"I48_230":[null,null,null,null],"TRACK_ID_OTHER_AIRPLANE":["131","132","565","564"],"LONGITUDE":["7.10975","7.108565","7.22684","7.219151"],"ALTITUDE_AGL":[null,null,null,null],"SPEED_HORI_KT":["176.233","127.898","396.112","415.594"],"TRACK_ID":["132","131","564","565"],"STREAM_ID":["34ed2fe","34ed2fe","34ed2fe","34ed2fe"]}

    Nun möchte ich mittels eval() ein JSON Objekt daraus erzeugen...jedoch klappt das ganze nicht.

    Wenn ich
    var response = http.responseText;
    var responseAsJson = eval(response);
    document.getElementById("Ausgabe").innerHTML = response;
    schreibe dann erhalte ich eine leere Seite und die Fehlermeldung:
    syntax error
    [Bei diesem Fehler anhalten] var responseAsJson = eval(response);

    Das komische ist wenn ich die Daten die ich durch den Ajax Request erhalte einfach kopiere und als String in eine Variable lege dann funktioniert folgendes:

    var json_objekt = '{"CALLSIGN_OTHER_AIRPLANE":["CAJUN02","CAJUN01","JEUS1","JEUS1"],"ALTITUDE_MSL":["14774.7","13837.2","27366","28088.2"],"CALLSIGN":["CAJUN01","CAJUN02","JEUS1","JEUS1"],"H_DIST_IN_METER":["177.91832","177.91832","783.002","783.002"],"V_DIST_IN_FEET":["937.5","937.5","722.2","722.2"],"TIME_OF_DAY_UTC_MS":[null,null,null,null],"TTL":["5","5","5","5"],"MANEUVER":["0","0","0","0"],"LATITUDE":["49.414925","49.416325","48.11217","48.116978"],"SPEED_VERTI_FTMIN":["-8438.63","-8749.04","-498.134","1150.69"],"TIME_STAMP":["1970-01-01 18:49:39.847","1970-01-01 18:49:39.847","1970-01-01 18:49:39.847","1970-01-01 18:49:39.847"],"TIME_LAST_UPDATE_MS":["67777250","67776508","67775813","67775820"],"TIME_TAG_MS":["67779847","67779847","67779847","67779847"],"HEADING_DEG":["193.224","250.908","10.732","9.26098"],"I48_230":[null,null,null,null],"TRACK_ID_OTHER_AIRPLANE":["131","132","565","564"],"LONGITUDE":["7.10975","7.108565","7.22684","7.219151"],"ALTITUDE_AGL":[null,null,null,null],"SPEED_HORI_KT":["176.233","127.898","396.112","415.594"],"TRACK_ID":["132","131","564","565"],"STREAM_ID":["34ed2fe","34ed2fe","34ed2fe","34ed2fe"]} ';

    var o = eval("(" + json_objekt + ")");
    document.getElementById("Ausgabe2").innerHTML = o.CALLSIGN_OTHER_AIRPLANE;
    Geändert von Kiloui (28.10.11 um 16:59 Uhr)
     

  2. #2
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Versuch es so:

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    //Vorher
    var responseAsJson = eval(response);
     
    //Nachher
    eval('var responseAsJson = ' + response);
     
    //Oder besser
    var responseAsJson = (new Function('return ' + response))();
     
    //Oder noch besser für moderne Browser
    var responseAsJson = JSON.parse(response);
     

  3. #3
    Kiloui Kiloui ist offline Mitglied Bronze
    Registriert seit
    Feb 2009
    Beiträge
    34
    Hi,
    danke für deine Mühe.

    Aber leider klappt das auch nicht
    Bei den ersten beiden Versionen von dir bekomme ich ein "Syntax Error".

    Und bei der dritten bekomme ich "JSON.parse: unexpected character"
     

  4. #4
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Dann liefert dein "http.responseText" nicht exakt das, was du hier gepostet hast.
     

  5. #5
    Kiloui Kiloui ist offline Mitglied Bronze
    Registriert seit
    Feb 2009
    Beiträge
    34
    Nochmal danke Habe gerade genau das feststellen müssen was du jetzt auch meintest
    Meine JSP hat nicht nur den JSON String geliefert sondern es waren noch die ganzen html Tags um den JSON String drum Jetzt läuft es...
     

  6. #6
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    @Kiloui:
    Man muss seine Frage nicht unkenntlich machen, die kann man ruhig stehen lassen...

    Und auf "Erledigt" setzen kannst du das Thema selber (und außer Moderatoren nur du)
    Blau-weißer Haken unten neben "Auf Thema antworten" oder das "Nein" bei "Erledigt" oben.

    Habs diesmal schon gemacht.

    Gruß
    CPoly bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

Ähnliche Themen

  1. Frage zu JSON. HTML-Konstrukt mit JSON übergeben
    Von Jan-Frederik Stieler im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 16.04.11, 16:04
  2. eval
    Von Pherseus im Forum PHP
    Antworten: 7
    Letzter Beitrag: 18.02.05, 12:01
  3. Good vs. Eval (Eval bei Objekten)
    Von Gee im Forum PHP
    Antworten: 1
    Letzter Beitrag: 13.07.04, 18:17
  4. eval() in VB
    Von koma666 im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 18.09.02, 17:15
  5. eval
    Von Rev im Forum PHP
    Antworten: 4
    Letzter Beitrag: 14.04.02, 17:46