我正在尝试使用php json_decode函数来解码下面的JSON。
{"total_count":17}
我认为输出中的方括号正在阻止它。我该如何解决这个问题呢?我无法控制输出,因为它来自Facebook FQL查询:
发布于 2013-01-19 07:25:31
默认情况下,PHP的json_decode返回stdClass的一个实例。
对于您来说,处理数组可能更容易一些。您可以强制PHP返回数组,作为json_decode的第二个参数:
$var = json_decode('[{"total_count":17}]', true);在此之后,您可以作为$result[0]['total_count']访问该变量
发布于 2013-01-19 07:22:18
有关如何阅读它的示例,请参阅此JS小提琴:
它基本上和PHP的代码一样,只是你需要把true作为你的第二个参数传递给json_decode,告诉php你想把它用作关联数组而不是实际的对象:
<?php
$result = json_decode('[{"total_count":17}]', true);
print $result[0]['total_count'];
?>如果不传递true,则必须像这样访问它:$result[0]->total_count,因为它是一个包含对象的数组,而不是一个包含数组的数组。
发布于 2013-01-19 07:27:37
$json = "[{\"total_count\":17}]";
$arr = Jason_decode($json);
foreach ($arr as $obj) {
echo $obj->total_count . "<br>";
}或者,如果需要关联数组而不是对象,请使用json_decode($json, true)。
https://stackoverflow.com/questions/14409123
复制相似问题