romtokarev / json-csv
PHP中的JSON到CSV和CSV到JSON转换器。
dev-master
2022-07-28 09:06 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 auto-updated.
Last update: 2024-09-28 13:47:21 UTC
README
PHP中最基础的CSV到JSON和JSON到CSV转换库,无任何依赖。
安装
通过Composer
$ composer require romtokarev/json-csv
用法
从字符串转换JSON到CSV
use OzdemirBurak\JsonCsv\File\Json; // demo json data $testJson = json_encode([ [ '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] ] ]); // JSON to CSV $json = (new Json())->convertfromString($testJson); // 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();
转换后,生成的CSV数据将如下所示。
从文件转换JSON到CSV
use OzdemirBurak\JsonCsv\File\Json; // JSON to CSV $json = (new Json)->convertfromFile(__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();
假设输入的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();
假设输入的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)。有关更多信息,请参阅许可证文件。