使用php以换行符分隔的格式将json api结果保存到json文件

时间:2019-09-13 19:32:36

标签: php json laravel google-bigquery ndjson

我从api调用中获取了一个嵌套的json对象,并尝试将其保存到以换行符分隔的json文件中,以便可以将其导入Google Big Query中。

这是我所拥有的,它将它保存到我的文件中,但仍然没有正确格式化以供Big Query导入。

    $response = $this->client->post($url);

    $results = json_decode($response->getBody()->getContents());
    $date = Carbon::now()->toDateString();

    $filename = 'resources/results-' . $date . '.ndjson';

    foreach ($results as $result) {
        $newline = json_encode($result) . "\n";
        file_put_contents(base_path($filename), $newline, FILE_APPEND);
    }

我也刚刚尝试将json保存到文件中,但是在尝试导入大型查询时遇到相同的错误。

1 个答案:

答案 0 :(得分:0)

将真实值传递给json_decode()方法的第二个参数以返回关联数组,如下所示:

  $results = json_decode($response->getBody()->getContents(),true);