繁体   English   中英

如何在PHP中将JSON解析为CSV以用于社交提及API

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM