byjg / anydataset-json
Anydataset JSON抽象。Anydataset是PHP中的无源数据抽象层。
4.9.2
2024-09-11 23:43 UTC
Requires
- php: >=7.4
- ext-json: *
- byjg/anydataset: 4.9.*
Requires (Dev)
- phpunit/phpunit: 5.7.*|7.4.*|^9.6
Suggests
- ext-curl: *
Provides
README
JSON抽象数据集。Anydataset是PHP中的无源数据抽象层。
更多关于Anydataset的信息在这里。
概念
AnyDataset-Json是一个抽象层,用于读取JSON数据并将其转换为数据集,您可以将它当作表格来操作。
一些功能
- 读取JSON文件或字符串
- 定义和提取字段
- 验证一些元素,例如是否必需、数据类型等
示例
example.json
{ "menu":{ "header":"SVG Viewer", "items":[ { "id":"Open", "metadata":{ "version":"1", "date":"NA" } }, { "id":"OpenNew", "label":"Open New", "metadata":{ "version":"2", "date":"2021-10-01" } } ] } }
example.php
$json = file_get_contents('example.json'); $dataset = new \ByJG\AnyDataset\Json\JsonDataset($json); $iterator = $dataset->getIterator("/menu/items") ->withFields([ JsonFieldDefinition::create("name", "id"), JsonFieldDefinition::create("version", "metadata/version") ]); foreach ($iterator as $row) { echo $row->get('name'); // Print "Open", "OpenNew" echo $row->get('version'); // Print "1", "2" }
功能
安装
composer require "byjg/anydataset-json"
运行单元测试
vendor/bin/phpunit