所以我正在通过 PHP 以 JSON 格式提取用户的推文流。我想将它解码成一个关联数组或至少一些更有用的方式而不是一个字符串,以便我可以通过它进行操作。

我一直在疯狂地阅读有关 json_decode 的内容,但对我而言,似乎在我使用它之前和之后,文件的内容仍然被检测为一个长字符串。谁能帮我弄清楚我做错了什么?

$url = "http://twitter.com/status/user_timeline/" . $username . ".json?count=" . $count . "&callback=?";

// $url becomes "http://twitter.com/status/user_timeline/steph_Rose.json?count=5&callback=?";
        $contents = file_get_contents($url);
        $results = json_decode($contents, true);

        echo "<pre>";
        print_r($results);
        echo "</pre>";

        echo gettype($results); // this returns string

最佳答案

在 URL 中使用 callback 后,您会得到一个字符串,该字符串用括号 ( ) (字符串的摘录)包裹:

([{"in_reply_to_user_id":  /* ...more data here...*/ }]);

这不是有效的 JSON。

没有 callback ,结果只包含在 [ ] 中,这是有效的:
 [{"in_reply_to_user_id":  /* ...more data here...*/ }]

关于php - 从 Twitter 通过 PHP 解码 JSON 提要不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2142676/

10-11 23:01
查看更多