Python-Objekt und JSON-String
Ein Python-Objekt ist eine Sammlung von Daten in Form von Listen, Wörterbüchern usw., die im Speicher gespeichert ist. Ein JSON-String dagegen ist eine serialisierte Darstellung eines JSON-Objekts. Es ist ein Zeichenkette, die die Daten im JSON-Objekt repräsentiert, aber nicht als tatsächliches Objekt im Speicher gespeichert ist.
Hier ist ein Beispiel dafür, wie die read()
-Funktion verwendet wird, um den Inhalt von students.json
zu lesen:
with open('students.json', 'r') as file:
json_string = file.read()
print(json_string)
Dies wird folgendes ausgeben:
[{"name": "Alice", "age": 26, "major": "Computer Science"}, {"name": "Bob", "age": 27, "major": "Economics"}, {"name": "Charlie", "age": 25, "major": "Physics"}]
Wenn Sie versuchen, das erste Element von json_string
abzurufen, erhalten Sie das erste Zeichen der Zeichenkette:
print(json_string[0])
[
Dies liegt daran, dass json_string
eine Zeichenkette ist, nicht eine Liste (Python-Objekt). Um es in eine Liste zu konvertieren, können wir die json.loads()
-Funktion verwenden:
import json
## Konvertieren Sie den JSON-String in ein Python-Objekt
python_object = json.loads(json_string)
print(python_object)
Die Ausgabe ist ähnlich wie oben, mit dem Unterschied zwischen einfachen und doppelten Anführungszeichen.
[{'name': 'Alice', 'age': 26,'major': 'Computer Science'}, {'name': 'Bob', 'age': 27,'major': 'Economics'}, {'name': 'Charlie', 'age': 25,'major': 'Physics'}]
Jetzt können wir das erste Element der Liste abrufen:
print(python_object[0])
{ "name": "Alice", "age": 26, "major": "Computer Science" }
Anfänger verwechseln oft Python-Objekte und JSON-Strings, also achten Sie besonders darauf.