Conversion de JSON au format CSV en utilisant PHP

Je suis en train de convertir un fichier json en format csv à l'aide d'un script php. Le code est comme suit:

if (empty($argv[1])) die("The json file name or URL is missed\n");
$jsonFilename = $argv[1];

$json = file_get_contents($jsonFilename);
$array = json_decode($json, true);
$f = fopen('output.csv', 'w');

$firstLineKeys = false;
foreach ($array as $line)
{
    if (empty($firstLineKeys))
    {
            $firstLineKeys = array_keys($line);
            fputcsv($f, $firstLineKeys);
            $firstLineKeys = array_flip($firstLineKeys);
    }

fputcsv($f, array_merge($firstLineKeys, $line));

}

Ce type de travaux, mais c'est seulement de retour à l'extérieur des variables du fichier JSON, et j'obtiens un "Tableau de conversion de chaîne de caractères" avertissement

Les données JSON ressemble à ceci:

{"type":"NON_ATTRIBUTED","conversion":{,"value_1":"000000100355321","value_3":"XXXX","value_4":"12667","value_5":"6"},"stream_type":"COOKIE"}
{"type":"ATTRIBUTED","conversion":{,"value_1":"000000167865321","value_3":"YYYY","value_4":"12668","value_5":"0"},"stream_type":"COOKIE"}
{"type":"NON_ATTRIBUTED","conversion":{,"value_1":"000000134535321","value_3":"AAAA","value_4":"12669","value_5":"9"},"stream_type":"COOKIE"}
{"type":"NON_ATTRIBUTED","conversion":{,"value_1":"000000100357651","value_3":"WWWW","value_4":"12670","value_5":"2"},"stream_type":"COOKIE"}

La sortie que je reçois est :
type de conversion,stream_type
NON_ATTRIBUTED,Tableau,COOKIE
NON_ATTRIBUTED,Tableau,COOKIE

La sortie, je m'attends à:
type de conversion,valeur_1,value_3,value_4, value_5 ,stream_type
NON_ATTRIBUTED,000000100355321, XXXX, 1267, 6, COOKIE
..

Toute aide appréciée comme cela est très nouveau pour moi

source d'informationauteur user2647092 | 2013-12-18