Конвертировать JSON в CSV и сохранить из браузера на компьютер

У меня есть этот JSON:

{"data":[{"ID":1,"br":"1-2015","kupac":"ADAkolor","datum":"2015-05-19","rok":"2015-05-21","status":"placeno"},{"ID":2,"br":"2-2015","kupac":"Milenk","datum":"2015-05-27","rok":"2015-05-28","status":""}]}

Как преобразовать это в CSV-файл или Exel XLS с помощью php pdo?

Также в этом примере:

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('php://output', 'w');

$firstLineKeys = false;
foreach ($array as $line)
{
if (empty($firstLineKeys))
{
$firstLineKeys = array_keys($line);
fputcsv($f, $firstLineKeys);
$firstLineKeys = array_flip($firstLineKeys);
}
// Using array_merge is important to maintain the order of keys acording to the first element
fputcsv($f, array_merge($firstLineKeys, $line));
}

где мне нужно положить свой $ jsonTable?

-1

Решение

Я не уверен насчет части pdo, но чтобы записать это в файл, вы бы сделали что-то вроде этого

$json = '{"data":[{"ID":1,"br":"1-2015","kupac":"ADAkolor","datum":"2015-05-19","rok":"2015-05-21","status":"placeno"},{"ID":2,"br":"2-2015","kupac":"Milenk","datum":"2015-05-27","rok":"2015-05-28","status":""}]}';

$out = fopen('file.csv', 'w');
foreach(json_decode($json, true)['data'] as $key => $value) {
fputcsv($out, $value);
}
fclose($out);
0

Другие решения

использование JSON2CSV

Простой скрипт PHP для преобразования данных JSON в CSV

пример использования:

php json2csv.php --file=/path/to/source/file.json --dest=/path/to/destination/file.csv

ИЛИ Вы можете получить дамп файла CSV относительно скрипта PHP:

php json2csv.php --file=/path/to/source/file.json

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector