mini\Table\JSONTable class

Documentation

Table backed by JSON data

Reads an array of objects from a JSON file, string, or PHP array. Column types are inferred from the data.

// From file
$table = JSONTable::fromFile('data.json');

// From string
$table = JSONTable::fromString('[{"id":1,"name":"Alice"}]');

// From array (already decoded)
$table = JSONTable::fromArray([
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
]);

// With JSON pointer to nested array
$table = JSONTable::fromFile('response.json', '/data/users');

Inheritance

Extends: mini\Table\AbstractTable

Implements: mini\Table\Contracts\SetInterface IteratorAggregate Countable Traversable mini\Table\Contracts\TableInterface

Properties (4)

private array $rows
protected ?Closure $compareFn
protected ?int $limit
protected int $offset

Methods (39)

Documentation missing

Create table from a JSON file

Create table from a JSON string

Create table from a PHP array

Resolve a JSON pointer to a nested value

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Hook for subclasses to customize clone behavior

Get column name(s) that the row key represents

Get the string comparison function for sorting

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Get the current table alias (null if not set)

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Check if value(s) exist in the table's projected columns

Get the primary key column definition (cached)

Iterate over rows with visible columns only

Get columns available for output

Get all column definitions regardless of projection

Narrow to specific columns

Load a single row by its row ID

Get a property value

Check if a property exists (including null values)

Return table with property set

Source

src/Table/JSONTable.php:38-316