0

我正在尝试学习 Twitter 的 API。这是您发送请求时服务器返回的内容。

[
  {
    "coordinates": null,
    "favorited": false,
    "truncated": false,
    "created_at": "Wed Aug 29 17:12:58 +0000 2012",
    "id_str": "240859602684612608",
    "entities": {
      "urls": [
        {
          "expanded_url": "https://dev.twitter.com/blog/twitter-certified-products",
          "url": "https://t.co/MjJ8xAnT",
          "indices": [
            52,
            73
          ],
          "display_url": "dev.twitter.com/blog/twitter-c\u2026"
        }
      ],
      "hashtags": [

      ],
      ad infinitum...

我的问题是我使用的适用于非嵌套值的代码是否是这样的:

echo($tweets[$tweet_counter]['created_at']);

如何访问网址?我试过这个:

echo($tweets[$tweet_counter]['entities']['urls']['url']);
4

2 回答 2

0

我认为您可以首先将您的解码json为关联数组

$array = json_decode($json, true); //note the true as second parameter to have decoded as associative array

然后您可以使用范围访问值

$array['created_at'];
$array['entities']['urls']['url'];
于 2013-06-06T14:54:21.620 回答
0

采用这种格式并且没有关于您的代码的更多信息,您可以执行以下操作:

对象格式

$Data = json_decode($your_json);
$Url = $Data[0]->entities->urls[0]->url;

echo $Url; // returns: https://t.co/MjJ8xAnT

显式数组格式

$Data = json_decode($your_json, TRUE); //<--- note the TRUE here
$Url = $Data[0]['entities']['urls'][0]['url'];

echo $Url; // returns: https://t.co/MjJ8xAnT
于 2013-06-06T14:54:27.407 回答