ozdemirburak / json-csv
PHP中的JSON转CSV和CSV转JSON转换器。
0.5.0-alpha
2023-10-21 21:51 UTC
Requires
- php: ^7.3|^8.0
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ~8.0|~9.0
- squizlabs/php_codesniffer: ~3.5
This package is not auto-updated.
Last update: 2024-09-22 02:26:53 UTC
README
PHP中最基础的CSV转JSON和JSON转CSV转换库,无任何依赖。
安装
通过Composer
$ composer require ozdemirburak/json-csv
用法
JSON转CSV转换器
use OzdemirBurak\JsonCsv\File\Json; // JSON to CSV $json = new Json(__DIR__ . '/above.json'); // To convert JSON to CSV string $csvString = $json->convert(); // To set a conversion option then convert JSON to CSV and save $json->setConversionKey('utf8_encoding', true); $json->convertAndSave(__DIR__ . '/above.csv'); // To convert JSON to CSV and force download on browser $json->convertAndDownload();
您也可以使用fromString方法直接从JSON字符串进行转换。
$csvString = (new Json())->fromString('{"name": "Buddha", "age": 80}')->convert();
假设输入的JSON如下所示。
[
{
"name": {
"common": "Turkey",
"official": "Republic of Turkey",
"native": "T\u00fcrkiye"
},
"area": 783562,
"latlng": [39, 35]
},
{
"name": {
"common": "Israel",
"official": "State of Israel",
"native": "\u05d9\u05e9\u05e8\u05d0\u05dc"
},
"area": 20770,
"latlng": [31.30, 34.45]
}
]
转换后,生成的CSV数据将如下所示。
CSV转JSON转换器
use OzdemirBurak\JsonCsv\File\Csv; // CSV to JSON $csv = new Csv(__DIR__ . '/below.csv'); $csv->setConversionKey('options', JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); // To convert CSV to JSON string $jsonString = $csv->convert(); // To convert CSV to JSON and save $csv->convertAndSave(__DIR__ . '/below.json'); // To convert CSV to JSON and force download on browser $csv->convertAndDownload();
您也可以使用fromString方法直接从CSV字符串进行转换。
$jsonString = (new Csv())->fromString('[{"name":"Buddha","age":"80"}]')->convert();
假设输入的CSV文件如下所示。
转换后,生成的JSON数据将如下所示。
[
{
"SepalLength": "5.1",
"SepalWidth": "3.5",
"PetalLength": "1.4",
"PetalWidth": "0.2",
"Name": "Iris-setosa"
},
{
"SepalLength": "7.0",
"SepalWidth": "3.2",
"PetalLength": "4.7",
"PetalWidth": "1.4",
"Name": "Iris-versicolor"
},
{
"SepalLength": "6.3",
"SepalWidth": "3.3",
"PetalLength": "6.0",
"PetalWidth": "2.5",
"Name": "Iris-virginica"
}
]
变更日志
请参阅CHANGELOG获取更多最近更改信息。
测试
$ composer test
已知问题
目前没有已知的问题。
贡献
请参阅CONTRIBUTING获取详细信息。
致谢
许可
MIT许可(MIT)。请参阅许可文件获取更多信息。