Я пытаюсь преобразовать json файл в формат csv с помощью php script. Код выглядит следующим образом:
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));
}
Этот вид работ, но возвращает только внешние переменные JSON файла, и я получаю предупреждение "Array to string conversion"
Данные JSON выглядят следующим образом:
{"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"}
Выход, который я получаю: тип, преобразование, stream_type NON_ATTRIBUTED, массив, COOKIE NON_ATTRIBUTED, массив, COOKIE
Ожидаемый результат: тип, преобразование, значение_1, значение_3, значение_4, значение_5, stream_type NON_ATTRIBUTED, 000000100355321, XXXX, 1267, 6, COOKIE ..
Любая помощь оценивается, так как это очень ново для меня