JSON-Struktur verstehen¶
Aufgabe¶
Beantworten Sie die folgenden Fragen basierend auf dem untenstehenden JSON-Beispiel (Super Hero Squad).
JSON-Beispiel¶
{
"squadName": "Super hero squad",
"homeTown": "Metro City",
"formed": 2016,
"secretBase": "Super tower",
"active": true,
"members": [
{
"name": "Molecule Man",
"age": 29,
"secretIdentity": "Dan Jukes",
"powers": [
"Radiation resistance",
"Turning tiny",
"Radiation blast"
]
},
{
"name": "Madame Uppercut",
"age": 39,
"secretIdentity": "Jane Wilson",
"powers": [
"Million tonne punch",
"Damage resistance",
"Superhuman reflexes"
]
},
{
"name": "Eternal Flame",
"age": 1000000,
"secretIdentity": "Unknown",
"powers": [
"Immortality",
"Heat Immunity",
"Inferno",
"Teleportation"
]
}
]
}
Lösungen¶
-
Welche Art von Datenstruktur ist das äußere Element des JSON-Beispiels? Das äußere Element ist ein Objekt (erkennbar an den geschweiften Klammern
{}). -
Wie viele Schlüssel enthält das äußere JSON-Objekt und wie heißen sie? Es enthält 6 Schlüssel:
squadName,homeTown,formed,secretBase,active,members. -
Welchen Datentyp haben die Werte der Schlüssel
squadName,formedundactive? squadName: String (Zeichenkette)formed: Number (Zahl)-
active: Boolean (Wahrheitswert) -
Was befindet sich in der Liste, die unter dem Schlüssel
membersgespeichert ist? Eine Liste (Array) von 3 Objekten, wobei jedes Objekt einen Superhelden repräsentiert. -
Wie greift man auf den Namen des zweiten Mitglieds in der
members-Liste zu? Über den Index1(da Arrays bei 0 beginnen) und den Schlüsselname:members[1].name(ergibt "Madame Uppercut"). -
Welchen Datentyp hat
powersund woraus besteht dieses Element? Es ist ein Array (Liste) von Strings (Zeichenketten), die die Superkräfte beschreiben. -
Welchen Datentyp hat der Wert von
secretIdentitybeim ersten Mitglied? Der Wert ist ein String ("Dan Jukes"). -
Warum stehen Zeichenketten in Anführungszeichen, Zahlen aber nicht? In der JSON-Syntax müssen Strings immer in doppelten Anführungszeichen stehen, um sie als Text zu kennzeichnen. Zahlen werden ohne Anführungszeichen geschrieben, damit sie als numerische Werte (für Berechnungen etc.) interpretiert werden können.
-
Welche Unterschiede erkennst du zwischen den drei Objekten in der
members-Liste? Die Struktur (Schlüssel) ist identisch, aber die Werte unterscheiden sich. Insbesondere: - Das dritte Mitglied ("Eternal Flame") hat 4 Kräfte in der
powers-Liste, während die anderen beiden nur 3 haben. -
Das Alter (
age) variiert stark (29, 39, 1000000). -
Was passiert, wenn man in einem JSON-Objekt ein Komma zu viel oder zu wenig setzt? Das JSON wird ungültig (Invalid JSON). Parser werfen einen Syntax-Fehler (
SyntaxError), und die Daten können nicht verarbeitet werden.