Skip to content
MNB PHPExcelDeveloper Guide
AI

JSON library

Reading JSON and NDJSON

Stream top-level arrays and line-delimited records, select workbook sheets, and control normalized columns.

Level
Intermediate
Reading time
8 min
Package
mnb/mnb-phpexcel-json
Updated
Json::read()sheetNames()streaming()projectColumns()

Stream a top-level array#

PHP
$rows = Json::read('events.json', [
    'stream_json_array' => true,
    'json_columns' => ['id', 'type', 'created_at'],
    'streaming_extra_keys' => 'error',
    'max_json_record_bytes' => 2 * 1024 * 1024,
])->withHeaderRow(1)->streaming()->rows();

Read NDJSON explicitly#

PHP
$rows = Json::read('events.ndjson', [
    'json_document_mode' => 'ndjson',
    'ignore_blank_lines' => true,
    'max_source_rows' => 1000000,
])->withHeaderRow(1)->rows();

Select a sheet from workbook-shaped JSON#

PHP
$session = Json::read('workbook.json', [
    'json_document_mode' => 'json',
]);

print_r($session->sheetNames());
$orders = $session->sheet('Orders')->withHeaderRow(1)->rows();