0

我需要在 SocialMention.com 上查询“Colorado Springs”和“District 11”,并将数据拉回到 CSV 文件中。我是一名老程序员,但对 PHP 和 JSON 很陌生。这是简单的php代码:

<?php 
$curl = curl_init('http://api.socialmention.com/search?q=%22colorado+springs%22+%22district+11%22&f=json&src[]=twitter&sentiment=true&meta=info');
$result = curl_exec($curl); 
echo $result; 
?> 

如何解析 $result 并将其存储在 CSV 文件中?我已经对此进行了 6 天的研究,并尝试了所有我能找到的示例,但都没有运气。在下面的示例中,我不断收到“foreach 中的参数无效”错误。

4

2 回答 2

0

u can refer the two links too

1.Parsing JSON file with PHP

2.php writing to csv from an array

$json_a=json_decode($string,true); //decodes json

//writes to csv
 $fp = fopen('file.csv', 'w');

    for ($i = 0; $i < count($json_a); $i++) {
        $fields = //json object feids here
        fputcsv($fp, $fields);
    }

    fclose($fp);
于 2013-03-20T04:39:09.423 回答
0

你的问题很广泛,因为你并没有真正说出你想如何 parse $result,但你甚至没有得到,$result因为curl_exec实际上会打印出它的内容。相反,您可以设置curl_setopt($curl, CURLOPT_RETURNTRANSFER, true),或者您可能只使用$result = file_get_contents($url);

无论如何,您可以通过 .将结果从 JSON 更改为可用的 PHP 数据结构$data = json_decode($result, true)。第二个参数强制关联数组,这可能更适合您的目的。

然后您可以写入 CSV 文件:

$fh = fopen('csvfile', 'w');
foreach ($result['items'] as $items) {
    fputcsv($fh, $items);
}
于 2013-03-20T04:35:11.073 回答