byjg/anydataset-json
最新稳定版本:6.0.0
Composer 安装命令:
composer require byjg/anydataset-json
包简介
JSON abstraction dataset. Anydataset is an agnostic data source abstraction layer in PHP.
README 文档
README
JSON abstraction dataset. Anydataset is an agnostic data source abstraction layer in PHP.
See more about Anydataset here.
Concept
The AnyDataset-Json is an abstraction layer to read a JSON data and transform it into a dataset, and you can manipulate it as a table.
Some features:
- Read a JSON file or string
- Navigate through nested JSON structures using path notation
- Define and extract fields with validation
- Create dynamic fields using closures
- Validate data types (string, int, float, bool)
- Handle required fields and default values
Basic Example
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); // Basic usage with field definitions $iterator = $dataset->getIterator("/menu/items") ->withFields([ \ByJG\AnyDataset\Json\JsonFieldDefinition::create("name", "id"), \ByJG\AnyDataset\Json\JsonFieldDefinition::create("version", "metadata/version") ->required() ->ofTypeString() ]); foreach ($iterator as $row) { echo $row->get('name'); // Print "Open", "OpenNew" echo $row->get('version'); // Print "1", "2" }
Features
Install
composer require "byjg/anydataset-json"
Running the Unit tests
vendor/bin/phpunit
Dependencies
flowchart TD
byjg/anydataset-json --> byjg/anydataset
byjg/anydataset-json --> ext-json
Loading
统计信息
- 总下载量: 6.93k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-11-24