KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I need to convert a CSV file to JSON on the server using PHP. I am using this script which works: function csvToJSON($csv) { $rows = explode("\n", $csv); $i = 0; $len = count($rows); $json = "{\n" . ' "data" : ['; foreach ($rows as $row) { $cols = explode(',', $row); $json .= "\n {\n"; $json .= ' "var0" : "' . $cols[0] . "\",\n"; $json .= ' "var1" : "' . $cols[1] . "\",\n"; $json .= ' "var2" : "' . $cols[2] . "\",\n"; $json .= ' "var3" : "' . $cols[3] . "\",\n"; $json .= ' "var4" : "' . $cols[4] . "\",\n"; $json .= ' "var5" : "' . $cols[5] . "\",\n"; $json .= ' "var6" : "' . $cols[6] . "\",\n"; $json .= ' "var7" : "' . $cols[7] . "\",\n"; $json .= ' "var8" : "' . $cols[8] . "\",\n"; $json .= ' "var9" : "' . $cols[9] . "\",\n"; $json .= ' "var10" : "' . $cols[10] . '"'; $json .= "\n }"; if ($i !== $len - 1) { $json .= ','; } $i++; } $json .= "\n ]\n}"; return $json; } $json = csvToJSON($csv); $json = preg_replace('/[ \n]/', '', $json); header('Content-Type: text/plain'); header('Cache-Control: no-cache'); echo $json; The $csv variable is a string resulting from a cURL request which returns the CSV content. I am sure this is not the most efficient PHP code to do it because I am a beginner developer and my knowledge of PHP is low. Is there a better, more efficient way to convert CSV to JSON using PHP? Thanks in advance. Note. I am aware that I am adding whitespace and then removing it, I do this so I can have the option to return "readable" JSON by removing the line $json = preg_replace('/[ \n]/', '', $
Tags (comma-separated)
Save Edits
Cancel