使用php将json转换为csv格式不正确

时间:2015-06-28 18:29:59

标签: php json csv

我正在尝试使用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 |假的//我的意思是明智的

有人可能会告诉我可能出错的地方吗?

1 个答案:

答案 0 :(得分:1)

你需要传递一个对象数组。

您的代码目前正在为您的单个对象的每个键添加一行。

示例:

[
    {
        "userid": "686868",
        "deviceid": "dummy"
    }
]

然后你不需要转换为数组

fputcsv($f, $line);