我正在尝试使用php将简单的JSON数据保存到csv。但问题是我在列而不是行中获取数据。我的JSON看起来像:{" userid":" 686868"," deviceid":" dummy"}
,代码是:
$csv_write_path = "test.csv";
$json_str = file_get_contents($json_file);
$json_obj = json_decode($json_str, true);
$f = fopen($csv_write_path, 'w');
foreach ($json_obj as $line){
fputcsv($f, (array)$line);//tried using fputcsv($f, $line); // it saves nothing
}
fclose($f);
输出是:
693936
虚设
但是我希望输出文件看起来像: 693936 |假的//我的意思是明智的
有人可能会告诉我可能出错的地方吗?
答案 0 :(得分:1)
你需要传递一个对象数组。
您的代码目前正在为您的单个对象的每个键添加一行。
示例:
[
{
"userid": "686868",
"deviceid": "dummy"
}
]
然后你不需要转换为数组
fputcsv($f, $line);