我有这样的CSV文件:
First Name*,Registrarse
Last Name*,Registrarse
Your Email*,Nombre*
Country*,Apellido*
我正在寻找某种将其转换为JSON的方法,如下所示:
{
"First Name*": "Registrarse",
"Last Name*": "Registrarse"
.....
}
我尝试将CSV等NPM工具转换为JSON,但无法获得此效果。
有人知道这样做的方法吗?
最佳答案
您可以将CSV文件转换为关联数组,并将其编码为JSON:
$csv = <<<EOF
First Name*,Registrarse
Last Name*,Registrarse
Your Email*,Nombre*
Country*,Apellido*
EOF;
$csvArray = explode(PHP_EOL, $csv);
$jsonArray = array();
foreach ($csvArray as $row) {
preg_match('/(.*?),(.*)/', $row, $matches);
$jsonArray[$matches[1]] = $matches[2];
}
$json = json_encode($jsonArray, JSON_PRETTY_PRINT);
echo $json, PHP_EOL;
输出:
{
"First Name*": "Registrarse",
"Last Name*": "Registrarse",
"Your Email*": "Nombre*",
"Country*": "Apellido*"
}