【问题标题】:get a specific values from a returned JSON from twitter API从 twitter API 返回的 JSON 中获取特定值
【发布时间】:2013-09-18 21:41:57
【问题描述】:

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

例如我有这个从 API 返回

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

我只想获取name 和description 部分并将其放在<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();
?>

【问题讨论】:

标签: php css json twitter


【解决方案1】:

您得到的响应是 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

【讨论】:

    【解决方案2】:

    你需要让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>";
    }
    ?>
    

    【讨论】:

    • 我收到此错误json_decode() expects parameter 1 to be string, 这是什么意思?
    猜你喜欢
    • 2016-11-25
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多