Traitement JSON en streaming pour des fichiers volumineux en PHP
Le traitement de fichiers JSON volumineux (potentiellement jusqu'à 200 Mo) peut poser un défi en PHP. La bibliothèque JSONReader offre une solution en fournissant une interface de type SAX pour diffuser des données JSON.
Les fichiers JSON sont généralement constitués d'un tableau d'objets, avec des objets contenant différentes propriétés. Comme il n'est pas pratique de mettre l'intégralité du fichier en mémoire, une approche de streaming est souhaitable.
Implémentation de JSONReader
La bibliothèque JSONReader vous permet de :
Exemple : Traitement des objets JSON
Explorons comment traiter des objets individuels dans un fichier JSON à l'aide JSONReader :
use pcrov\JsonReader\JsonReader; $reader = new JsonReader(); $reader->open("large.json"); $reader->read(); // Root array $depth = $reader->depth(); while ($reader->next() && $reader->depth() > $depth) { echo "Processed object: " . json_encode($reader->value()) . "\n"; } $reader->close();
Exemple : Lecture d'éléments nommés
Pour lire des éléments nommés à partir d'un fichier JSON :
$reader = new JsonReader(); $reader->open("json-file.json"); while ($reader->read()) { if ($reader->name() !== null) { echo "Name: {$reader->name()}, Value: {$reader->value()}\n"; } } $reader->close();
Adaptation à différentes structures JSON
La bibliothèque JSONReader gère les structures JSON complexes efficacement. Les exemples fournis démontrent le traitement des objets et la récupération des éléments nommés. Adaptez l'approche en fonction de votre structure de fichier JSON spécifique et de vos besoins en traitement de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!