[英]How to parse JSON into CSV in PHP for Social Mention API
我需要向SocialMention.com查询“科罗拉多斯普林斯”和“第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中的无效参数”错误。
您的问题很广泛,因为您并未真正说出要解析$result
,但是您甚至没有得到$result
因为curl_exec
实际上会打印出其内容。 相反,您可以设置curl_setopt($curl, CURLOPT_RETURNTRANSFER, true)
,或者您可以只使用$result = file_get_contents($url);
无论如何,您可以通过$data = json_decode($result, true)
将结果从JSON更改为可用的PHP数据结构。 第二个参数强制关联数组,这可能更适合您的目的。
然后,您可以写入CSV文件:
$fh = fopen('csvfile', 'w');
foreach ($result['items'] as $items) {
fputcsv($fh, $items);
}
你也可以参考两个链接
1. 用PHP解析JSON文件
2. PHP从数组写入csv
$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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.