在PHP 中對大檔案進行串流JSON 處理
處理相當大的JSON 檔案(可能高達200MB)可能會給PHP帶來挑戰。 JSONReader 函式庫透過提供類似 SAX 的介面來傳輸 JSON 數據,從而提供了一種解決方案。
JSON 檔案通常由物件陣列組成,其中物件包含不同的屬性。由於將整個檔案放入記憶體中是不切實際的,因此需要採用串流傳輸方法。
JSONReader 實作
JSONReader 函式庫可讓您:
範例:處理JSON 物件
讓我們探索如何使用處理JSON 檔案中的單一物件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();
範例:讀取命名元素
從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();
適配不同的 JSON 結構
JSONReader 函式庫有效處理複雜的 JSON 結構。提供的範例示範了物件處理和命名元素檢索。根據您的特定 JSON 檔案結構和資料處理需求調整方法。以上是PHP 如何使用串流處理高效處理大型 JSON 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!