Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
über "Fetch" Json Array/Object auswerten
#2
Hallo MAT,
ich hatte bisher noch gar nicht bemerkt, dass JSON.parse als zweiten Parameter eine Callback-Funktion hat. Wenn ich das richtig sehe, ist diese aber mehr dafür gedacht, die Daten umzuarbeiten. Ich würde am Anfang zunächst auf ihre Verwendung verzichten.

Ich habe mal dein Javascript umgeändert, so dass es funktioniert:
Code:
        fetch('thread1245-fetch-javascript-forum.json').then(function (response) {
            // Aus der Antwort vom Server den Text zurück geben:
            return response.text();
        }).then(function (text) {
            // Den Text parsen:
            const parsed = JSON.parse(text);
            // Zeit in DOM-Element anzeigen:
            if (parsed.StatusSNS.Time) {
                console.log(parsed.StatusSNS.Time);
                document.getElementById('Time').innerHTML = parsed.StatusSNS.Time;
            }
            if (parsed.StatusSNS.ENERGY.Total) {
                console.log(parsed.StatusSNS.ENERGY.Total);
                document.getElementById('Total').innerHTML = parsed.StatusSNS.ENERGY.Total;
            }
        });
Die Struktur, die Du vom Server bekommst, besteht aus Objekten und ist mehrfach verschachtelt. Um ein Element darin anzusprechen, musst Du den Objektname, einen Punkt und den Namen des Elementes notieren:
Code:
nameObjekt.nameMember
 Und, da die Objekte in deinem Fall verschachtelt sind, das mehrfach aneinander reihen.

Das Parsen kannst Du übrigen auch einfacher machen:
Code:
fetch('thread1245-fetch-javascript-forum.json').then(function (response) {
            // Aus der Antwort vom Server
            // das geparste JSON zurück geben:
            return response.json();
        }).then(function (parsed) {
            // Jetzt steht das geparste JSON zur Verfügung.
            // Zeit in DOM-Element anzeigen:
            if (parsed.StatusSNS.Time) {            // Zeit in DOM-Element anzeigen:
                if (parsed.StatusSNS.Time) {
                    console.log(parsed.StatusSNS.Time);
                    document.getElementById('Time').innerHTML = parsed.StatusSNS.Time;
                }
                if (parsed.StatusSNS.ENERGY.Total) {
                    console.log(parsed.StatusSNS.ENERGY.Total);
                    document.getElementById('Total').innerHTML = parsed.StatusSNS.ENERGY.Total;
                }
            }
        });
also statt text() json() aufrufen.
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
Zitieren


Nachrichten in diesem Thema
RE: über "Fetch" Json Array/Object auswerten - von Sempervivum - 19.01.2024, 18:11

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste