19.01.2024, 18:11
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:
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:
Und, da die Objekte in deinem Fall verschachtelt sind, das mehrfach aneinander reihen.
Das Parsen kannst Du übrigen auch einfacher machen:
also statt text() json() aufrufen.
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;
}
});
Code:
nameObjekt.nameMember
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;
}
}
});
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)