bhattaganesh / json-stream-writer
一个可扩展的PHP库,用于将大量数据集写入JSON流。
1.0.0
2024-09-08 05:33 UTC
Requires
- php: >=7.4
README
一个PHP库,用于高效地将大量JSON数据集写入文件。这在处理大量数据且需要将其导出为JSON而不消耗太多内存时非常有用。
安装
通过Composer
composer require bhattaganesh/json-stream-writer
用法
require_once __DIR__ . '/../vendor/autoload.php'; use JsonStreamWriter\Writer\JsonStreamWriter; try { $streamWriter = new JsonStreamWriter(__DIR__ . '/output.json', true); // Use false to disable pretty-printing // Set metadata for the JSON file $streamWriter->setValue('manifest', array( 'version' => '1.0', 'created_at' => date('Y-m-d H:i:s') )); // Create a new section called "users" $streamWriter->createSection('users'); // Append items to the "users" section $streamWriter->appendItems(array_fill(0, 3000, [ 'id' => rand(1, 10000), // Random ID between 1 and 10000 'name' => 'User ' . rand(1, 10000), // Random name 'email' => 'user' . rand(1, 10000) . '@example.com', // Random email ])); // Create another section called "products" $streamWriter->createSection('products'); // Append items to the "products" section $streamWriter->appendItems([ ['id' => 101, 'name' => 'Laptop', 'price' => 999.99], ['id' => 102, 'name' => 'Mouse', 'price' => 19.99], ]); // Finalize the JSON file $streamWriter->finalize(); echo "JSON stream writing completed successfully.\n"; } catch (\Exception $e) { echo "An error occurred: " . $e->getMessage() . "\n"; }