====== LU01.A02 - JSON-File einlesen und ausgeben ====== ===== Rahmenbedingungen ===== * Sozialform: Einzelarbeit * Hilfsmittel: Openbooks * Zeit: 15 Minutes * Erwartetes Resultat: JavaScript-File, dass ein gegebenes JSON File einliest und auf der Computer-Konsole ausgibt. ===== Ausgangslage ===== Das nachfolgende JSON-File //lernende.json// ist gegeben. Kopieren Sie dieses mit Copy-Paste in Ihre Entwicklungsumgebung. **lernende.json** { "lernende": [ { "name": "Anna", "nachname": "Keller", "alter": 19, "bms": false, "hobbies": ["Lesen", "Joggen", "Kochen"] }, { "name": "Sophie", "nachname": "Hofstetter", "alter": 20, "bms": true, "hobbies": ["Fotografie", "Yoga", "Reisen"] } ] } ===== Auftrag ===== Erstellen Sie ein JS-Script, das die JSON-Inhalt asynchron einliest und auf der Computerkonsole formatiert ausgibt. Das Ergebnis soll wie folgt aussehen. {{:de:modul:m307:learningunits:lu01:aufgaben:lu01_l02_1.jpg?600|}} Als Vorlage für Ihr JavaScript, können Sie die nachfolgende JS-Datei verwenden, die die Grundstruktur für das Einlesen bereitstellt. **vorlage für lu01_l02.js** const fs = require("fs"); // fs.readFile("lernende.json", "utf8", (err, data) => { if (err) { console.error("Fehler beim Lesen:", err); return; } // const daten = JSON.parse(data); // console.log(typeof daten); // object // console.log("Anzahl Lernende:", daten.lernende.length); // console.log("\n--- Gesamte Daten als formatierter JSON-String ---"); console.log(JSON.stringify(daten, null, 2)); // << formatierte Ausgabe // console.log("\n--- Einzelwerte erster Datensatz ---"); console.log("Name:", daten.lernende[0].name); // hier müssen die restlichen Attribute des ersten Datensatzes ausgegeben werden // das erste Atttribut ist bereits als vorlage vorhanden // console.log("\n--- Einzelwerte zweiter Datensatz ---"); // hier muss, nach Vorlage des ersten Satzes, der zweite Satz ebenfalls ausgeben werden. // }); ===== Lösungen ===== [[de:modul:m307:learningunits:lu01:Lösungen:02|LU01.L02]] ---- [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir