Eintauchen in das speichereffiziente Laden von JSON-Dateien
Das Laden großer JSON-Dateien mit Speicherbeschränkungen kann eine Herausforderung darstellen. Wenn Sie die Standardfunktion json.load() verwenden, um die gesamte Datei auf einmal zu lesen, kann der Speicherverbrauch stark ansteigen. Glücklicherweise gibt es Alternativen, die das teilweise Laden von Dateien ermöglichen.
Wir stellen vor: ijson: Der SAX-Parser für JSON
ijson ermöglicht Benutzern, ähnlich wie SAX für XML, iteratives Parsen JSON-Dateien. Dies bietet eine Analogie zur zeilenweisen Iteration in Textdateien und geht auf Speicherprobleme ein.
Verwenden von ijson zum Laden von Teilen einer JSON-Datei
Zur Verwendung von ijson Führen Sie zum teilweisen Laden einer JSON-Datei die folgenden Schritte aus:
Beispielcode
Hier ist ein Beispiel für die Verwendung von ijson zum Parsen einer JSON-Datei :
<code class="python">import ijson for prefix, the_type, value in ijson.parse(open(json_file_name)): print(prefix, the_type, value)</code>
In diesem Code stellt Präfix den durch Punkte getrennten Index im JSON-Baum dar, the_type gibt das SAX-ähnliche Ereignis an und Wert enthält den Wert des Objekts oder None für Ereignistypen.
Das obige ist der detaillierte Inhalt vonWie kann ich große JSON-Dateien effizient laden, ohne übermäßig viel Speicher zu verbrauchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!