如何在Json中解码以下代码?

时间:2013-01-18 23:10:52

标签: php json

我正在尝试使用php json_decode函数解码以下JSON。

[{ “TOTAL_COUNT”:17}]

我认为输出中的方括号是阻止它的。我该如何解决这个问题?我无法控制输出,因为它来自Facebook FQL查询:

https://api.facebook.com/method/fql.query?format=json&query=SELECT%20total_count%20FROM%20link_stat%20WHERE%20url=%22http://www.apple.com%22

3 个答案:

答案 0 :(得分:2)

PHP的json_decode默认返回stdClass的实例。

对你来说,处理数组可能更容易。您可以强制PHP返回数组,作为json_decode的第二个参数:

$var = json_decode('[{"total_count":17}]', true);

之后,您可以将变量作为$result[0]['total_count']

进行访问

答案 1 :(得分:0)

请参阅此JS小提琴,了解如何阅读它:

http://jsfiddle.net/8V4qP/1

这与PHP的代码基本相同,除非您需要将true作为第二个参数传递给json_decode,告诉php您要将其用作关联数组而不是实际对象:

<?php
    $result = json_decode('[{"total_count":17}]', true);
    print $result[0]['total_count'];
?>

如果你没有传递true,你必须像这样访问它:$result[0]->total_count因为它是一个包含一个对象的数组,而不是一个包含数组的数组。

答案 2 :(得分:0)

$json = "[{\"total_count\":17}]";

$arr = Jason_decode($json);
foreach ($arr as $obj) {
    echo $obj->total_count . "<br>";
}

如果您想要关联数组而不是对象,请使用json_decode($json, true)