Loading ...

Convertire JSON in CSV con PHP

Convertire JSON in CSV con PHP

Sia il JSON che il CSV sono formati standard usati praticamente ovunque.

Da un web service ricevo i dati in JSON, ed ho bisogno di convertirli in CSV.

Il tutto in un'applicazione scritta in PHP.

Vediamo un esempio, partendo da dati semplici:

$array = json_decode('[{"nome":"Gino","eta":28},{"nome":"Federica","eta":21},
		{"nome":"Michele","eta":24}]', TRUE);
$csvFile = 'file.csv';

function arrayToCsv($array, $csvFile) {
    $f = fopen($csvFile, 'w');
    foreach ($array as $row) {
        fputcsv($f, $row, ';');
    }
    fclose($f);
}

La prima cosa da ricordare è di impostare il TRUE nella funzione json_decode.

Nella funzione sotto, passiamo due parametri (l'array dei dati e il file da salvare).

La "magia" è nella funzione fputcsv, che va a spezzare automaticamente il record, dividendoli con il separatore scelto.

Se lo omettete, la funzione ne mette uno di default (la virgola).

Enjoy!