php - Parsing twitter's Json response for Trends -
i trying make top 10 list of trending topics on twitter, based on location. json response (when use echo json_encode($data))
[{ "trends": [{ "name": "#for5rs", "url": "http:\/\/twitter.com\/search?q=%23for5rs", "promoted_content": null, "query": "%23for5rs", "events": null }, { "name": "#roadtosafety", "url": "http:\/\/twitter.com\/search?q=%23roadtosafety", "promoted_content": null, "query": "%23roadtosafety", "events": null }, { "name": "#celebrateblogging", "url": "http:\/\/twitter.com\/search?q=%23celebrateblogging", "promoted_content": null, "query": "%23celebrateblogging", "events": null }, { "name": "#wewantmentalposter", "url": "http:\/\/twitter.com\/search?q=%23wewantmentalposter", "promoted_content": null, "query": "%23wewantmentalposter", "events": null }, { "name": "#housefulldobaara", "url": "http:\/\/twitter.com\/search?q=%23housefulldobaara", "promoted_content": null, "query": "%23housefulldobaara", "events": null }, { "name": "rajat arora", "url": "http:\/\/twitter.com\/search?q=%22rajat+arora%22", "promoted_content": null, "query": "%22rajat+arora%22", "events": null }, { "name": "sadhu yadav", "url": "http:\/\/twitter.com\/search?q=%22sadhu+yadav%22", "promoted_content": null, "query": "%22sadhu+yadav%22", "events": null }, { "name": "javed bashir", "url": "http:\/\/twitter.com\/search?q=%22javed+bashir%22", "promoted_content": null, "query": "%22javed+bashir%22", "events": null }, { "name": "milan luthria", "url": "http:\/\/twitter.com\/search?q=%22milan+luthria%22", "promoted_content": null, "query": "%22milan+luthria%22", "events": null }, { "name": "vidya balan", "url": "http:\/\/twitter.com\/search?q=%22vidya+balan%22", "promoted_content": null, "query": "%22vidya+balan%22", "events": null }], "as_of": "2013-08-16t10:31:35z", "created_at": "2013-08-16t10:20:41z", "locations": [{ "name": "india", "woeid": 23424848 }] }]
what best way go parsing this? using jquery, , have script can parse json data when searching tweets, customized handle tweets. want list of top 10 trending titles.
edit : code have far.
<?php require_once('config.php'); require_once('twitteroauth.php'); function getconnectionwithaccesstoken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) { $connection = new twitteroauth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret); return $connection; } $connection = getconnectionwithaccesstoken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret); $tweets = $connection->get("https://api.twitter.com/1.1/trends/place.json?id=23424848"); //this hardcoded echo json_encode($tweets); ?> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>trend grabber</title> </head> <body> </body> </html>
edit 3 : output of var_dump($tweets) shown below :
array (size=1) 0 => object(stdclass)[5] public 'trends' => array (size=10) 0 => object(stdclass)[6] ... 1 => object(stdclass)[7] ... 2 => object(stdclass)[8] ... 3 => object(stdclass)[9] ... 4 => object(stdclass)[10] ... 5 => object(stdclass)[11] ... 6 => object(stdclass)[12] ... 7 => object(stdclass)[13] ... 8 => object(stdclass)[14] ... 9 => object(stdclass)[15] ... public 'as_of' => string '2013-08-19t13:36:34z' (length=20) public 'created_at' => string '2013-08-19t13:26:17z' (length=20) public 'locations' => array (size=1) 0 => object(stdclass)[16] ...
and output of using print_r($a) within loop (foreach($tweets $a))
stdclass object ( [trends] => array ( [0] => stdclass object ( [name] => #timefliesfast [url] => http://twitter.com/search?q=%23timefliesfast [promoted_content] => [query] => %23timefliesfast [events] => ) [1] => stdclass object ( [name] => #audiq3s [url] => http://twitter.com/search?q=%23audiq3s [promoted_content] => [query] => %23audiq3s [events] => ) [2] => stdclass object ( [name] => #dhamaalthingsiliketoclick [url] => http://twitter.com/search?q=%23dhamaalthingsiliketoclick [promoted_content] => [query] => %23dhamaalthingsiliketoclick [events] => ) [3] => stdclass object ( [name] => #wineanddine [url] => http://twitter.com/search?q=%23wineanddine [promoted_content] => [query] => %23wineanddine [events] => ) [4] => stdclass object ( [name] => #siblingluv [url] => http://twitter.com/search?q=%23siblingluv [promoted_content] => [query] => %23siblingluv [events] => ) [5] => stdclass object ( [name] => happy world photography day [url] => http://twitter.com/search?q=%22happy+world+photography+day%22 [promoted_content] => [query] => %22happy+world+photography+day%22 [events] => ) [6] => stdclass object ( [name] => audi [url] => http://twitter.com/search?q=audi [promoted_content] => [query] => audi [events] => ) [7] => stdclass object ( [name] => rakhi [url] => http://twitter.com/search?q=rakhi [promoted_content] => [query] => rakhi [events] => ) [8] => stdclass object ( [name] => manish tewari [url] => http://twitter.com/search?q=%22manish+tewari%22 [promoted_content] => [query] => %22manish+tewari%22 [events] => ) [9] => stdclass object ( [name] => priyanka chopra [url] => http://twitter.com/search?q=%22priyanka+chopra%22 [promoted_content] => [query] => %22priyanka+chopra%22 [events] => ) ) [as_of] => 2013-08-19t13:37:55z [created_at] => 2013-08-19t13:26:17z [locations] => array ( [0] => stdclass object ( [name] => india [woeid] => 23424848 ) ) )
the following display trends in table.
<?php $tweets = $connection->get("https://api.twitter.com/1.1/trends/place.json?id=23424848"); $trends = $tweets[0]->trends; ?> <table> <?php foreach($trends $trend){ ?> <tr> <td><?php echo $trend->name; ?></td> <td><?php echo $trend->url; ?></td> <td><?php echo $trend->promoted_content; ?></td> <td><?php echo $trend->query; ?></td> <td><?php echo $trend->events; ?></td> </tr> <?php } ?> </table>
but again please go through basics of iterating array, associate array, multidimensional array , objects in php.
Comments
Post a Comment