我有这样的CSV文件:

First Name*,Registrarse
Last Name*,Registrarse
Your Email*,Nombre*
Country*,Apellido*


我正在寻找某种将其转换为JSON的方法,如下所示:

{
  "First Name*": "Registrarse",
  "Last Name*": "Registrarse"
   .....
}


我尝试将CS​​V等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*"
}

09-18 11:08