变量未解析JSON

时间:2015-01-30 08:41:43

标签: php json disqus

我正在尝试将JSON值从Disqus解析为PHP变量,我能够做到90%,但由于某种原因,一个特定的变量无法工作。

$ comment->消息和$ comment->线程都有以下JSON中的值。

JSON:https://disqus.com/api/3.0/forums/listPosts.json?api_key=0B7l7oEVh6xH6EN5BEcEDg4R7tq4RiEmhuLyjnavaUKyOLx23bo099ltdnH9f2p6&forum=greetingtheworld&limit=4

<?php

$endpoint = 'https://disqus.com/api/3.0/forums/listPosts.json?api_key=0B7l7oEVh6xH6EN5BEcEDg4R7tq4RiEmhuLyjnavaUKyOLx23bo099ltdnH9f2p6&forum=greetingtheworld&limit=4';

$j=0;
$cursor=0;

// Standard CURL
$session = curl_init($endpoint.$cursor);
curl_setopt($session, CURLOPT_RETURNTRANSFER, 1); // instead of just returning true on success, return the result on success
$data = curl_exec($session);
curl_close($session);

// Decode JSON data
$results = json_decode($data);
if ($results === NULL) die('Error parsing json');

// Comment response
$comments = $results->response;

foreach ($comments as $comment) {
    $name = $comment->author->name; <-- THIS WORKS
    $comment = $comment->message; <-- THIS WORKS
    $thread = $comment->thread; <-- THIS DOESNT WORK
    // Get more data...
    echo '<li class="recentcomments">
        <span class="comment-author-link">';
    echo $name;
    echo '</span> on <a href="2013/10/take-a-deep-breath-and-just-be/index.html#comment-116">';
    echo $comment . $thread;
    echo "</a></li>";
}

?>

执行上述操作时,以下工作正常并返回正确的值:

$comment = $comment->message;

但是,以下内容会返回错误:

$thread = $comment->thread;
  

注意:尝试在第27行的/ home / ...中获取非对象的属性

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

在上面的代码中,您将$comment->message存储到了$comment。所以$comment->thread不起作用,因为您在before语句中更改了$comment的值。 因此,您必须将$comment->message存储到任何其他变量,例如$message