以JSON格式存储的数据通常更容易处理。然而,我们并不总能选择数据到达时的格式。
值得庆幸的是,我们可以通过调用一些免费的API和配套的PHP代码示例,将几种常见的数据格式转换为JSON格式。在这里,我们可以快速且轻松地将CSV、XLSX(Excel)和XML转换为JSON格式,而不会遇到任何麻烦。
可以使用下面提供的代码调用这三个API,并且只需运行一个命令即可为所有三个API安装客户端SDK。此外,我们可以使用一个Cloudmersive API密钥来授权我们的数据转换请求(这将支持我们以零投入的方式进行多达800次API调用)。
安装PHP客户端
要使用Composer安装PHP客户端,可以在命令行中执行以下命令。
composer require cloudmersive/cloudmersive_document_convert_api_client
完成安装后,就可以复制所需的转换代码了。
1. 将CSV数据转换为JSON
可以使用以下代码将CSV数据转换为JSON(请注意,可以设置$column_names_from_first_row参数来自定义列的标签)。
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// 配置API密钥授权:Apikey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');
$apiInstance = new Swagger\Client\Api\ConvertDataApi(
new GuzzleHttp\Client(),
$config
);
$input_file = "/path/to/inputfile"; // \SplFileObject | 要执行操作的输入文件。
$column_names_from_first_row = true; // bool | 可选;如果为 true,第一行将用作列的标签;如果为 false,列将命名为 Column0、Column1 等。默认值为 true。如果不使用列标题或具有不规则的列结构,请设置为 false。
try {
$result = $apiInstance->convertDataCsvToJson($input_file, $column_names_from_first_row);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling ConvertDataApi->convertDataCsvToJson: ', $e->getMessage(), PHP_EOL;
}
?>
2. 将XLSX(Excel)转换为JSON
可以使用下面的代码将XLSX(Excel)转换为JSON。
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// 配置API密钥授权:Apikey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');
$apiInstance = new Swagger\Client\Api\ConvertDataApi(
new GuzzleHttp\Client(),
$config
);
$input_file = "/path/to/inputfile"; // \SplFileObject | 要执行操作的输入文件。
try {
$result = $apiInstance->convertDataXlsxToJson($input_file);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling ConvertDataApi->convertDataXlsxToJson: ', $e->getMessage(), PHP_EOL;
}
?>
3. 将XML转换为JSON
最后,可以使用以下代码将XML转换为JSON。
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// 配置API密钥授权:Apikey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');
$apiInstance = new Swagger\Client\Api\ConvertDataApi(
new GuzzleHttp\Client(),
$config
);
$input_file = "/path/to/inputfile"; // \SplFileObject | 要执行操作的输入文件。
try {
$result = $apiInstance->convertDataXmlToJson($input_file);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling ConvertDataApi->convertDataXmlToJson: ', $e->getMessage(), PHP_EOL;
}
?>
结语
这就是我们所需的所有代码!现在,我们可以轻松地在PHP应用程序中将几种常见的数据格式转换为JSON格式。