【问题标题】:convert json to csv using php not getting right format使用 php 将 json 转换为 csv 格式不正确
【发布时间】:2015-06-28 18:29:59
【问题描述】:

我正在尝试使用 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 | dummy //我的意思是col wise

有人可以建议我可能出了什么问题吗?

【问题讨论】:

    标签: php json csv


    【解决方案1】:

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

    您的代码当前在单个对象的每个键上放置一行。

    示例:

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

    那么你不需要强制转换为数组

    fputcsv($f, $line);
    

    【讨论】:

    • 你能举个例子吗,我是json和php的新手
    • 但问题是我只需要传递简单的信息,即 {"userid":"686868","deviceid":"dummy"},对此有什么建议吗?
    • 我给你答案[{"userid":"686868","deviceid":"dummy"}]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 2015-03-26
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    • 2020-02-04
    • 2023-04-02
    相关资源
    最近更新 更多