CSV to Json with header row as key
json, php
Solution
Just read the first line separately and merge it into every row:
if (($handle = fopen('upload/BEN-new.csv', 'r')) === false) {
die('Error opening file');
}
$headers = fgetcsv($handle, 1024, ',');
$complete = array();
while ($row = fgetcsv($handle, 1024, ',')) {
$complete[] = array_combine($headers, $row);
}
fclose($handle);
echo json_encode($complete);
Problem
I would like to convert a CSV to Json, use the header row as a key, and each line as object. How do I go about doing this? ----------------------------------CSV--------------------------------- ``` InvKey,DocNum,CardCode 11704,1611704,BENV1072 11703,1611703,BENV1073 ``` ---------------------------------PHP----------------------------------- ``` if (($handle = fopen('upload/BEN-new.csv'. '', "r")) !== FALSE) { while (($row_array = fgetcsv($handle, 1024, ","))) { while ($val != '') { foreach ($row_array as $key => $val) { $row_array[] = $val; } } $complete[] = $row_array; } fclose($handle); } echo json_encode($complete); ```