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