从twitter API获取返回的JSON中的特定值

时间:2013-09-14 06:59:42

标签: php css json twitter

如何从Twitter API获取返回的JSON中的特定值并将其放在HTML/CSS标记上?

例如我从API

返回
{"id":24876424,
 " id_str":"24876424",
 "name":"james bond",
 "screen_name":"jbond",
 "location":"tokyo",
 "description":"this is my tweet"
} ...

我只想获得namedescription部分并将其放入<div>

<div class="twett">
    <div id="name"> "name" </div>
    <div id="desc"> "description </div>
</div>

这是我的PHP代码,以防你需要看到它

$url = 'https://api.twitter.com/1.1/statuses/user_timeline.json';
$getfield = '?screen_name=jbond&count=1';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
             ->buildOauth($url, $requestMethod)
             ->performRequest();
?>

2 个答案:

答案 0 :(得分:0)

您获得的答案是JSON。

您曾经能够以XML,RSS等方式获得响应,但现在您将收到的唯一响应类型是JSON。

PHP有多种处理JSON的方法。要对数据进行编码,您可以使用json_encode()。但是,您想要对其进行解码,因此您希望执行以下操作:

print_r(json_decode($yourData));

您可以使用foreach()循环迭代此数据。

请记住,假设您将结果json_decode()转换为$ yourData:

To access array properties, use: $yourData['propertyName']
To access object properties, use: $yourData->propertyName

答案 1 :(得分:0)

您需要使json请求可读

$twitter = json_decode($twitter);

在您的HTML

<div class="twett">
    <div id="name"> <?php echo $twitter["name"]; ?> </div>
    <div id="desc"> <?php echo $twitter["description"]; ?> </div>
</div>

如果返回了多条记录,则需要执行此操作

<?php
foreach(twitter as $tweet) {
   echo "<div class='twett'>";
   echo "<div id='name'>".$tweet["name"]."</div>";
   echo "<div id='desc'>".$tweet["description"]."</div>";
   echo "</div>";
}
?>