我正在尝试使用 php json_decode 函数解码以下 JSON。
[{"total_count":17}]
我认为输出中的方括号阻止了它。我该如何解决?我无法控制输出,因为它来自 Facebook FQL 查询:
我正在尝试使用 php json_decode 函数解码以下 JSON。
[{"total_count":17}]
我认为输出中的方括号阻止了它。我该如何解决?我无法控制输出,因为它来自 Facebook FQL 查询:
PHP 的json_decode默认返回一个 stdClass 的实例。
对你来说,处理数组可能更容易。您可以强制 PHP 返回数组,作为 json_decode 的第二个参数:
$var = json_decode('[{"total_count":17}]', true);
之后,您可以访问该变量$result[0]['total_count']
有关如何阅读它的示例,请参见此 JS fiddle:
它与 PHP 的代码基本相同,除了您需要将 true 作为第二个参数传递给json_decode以告诉 php 您要将其用作关联数组而不是实际对象:
<?php
$result = json_decode('[{"total_count":17}]', true);
print $result[0]['total_count'];
?>
如果您不传递 true,则必须像这样访问它:$result[0]->total_count
因为它是一个包含对象的数组,而不是包含数组的数组。
$json = "[{\"total_count\":17}]";
$arr = Jason_decode($json);
foreach ($arr as $obj) {
echo $obj->total_count . "<br>";
}
或者json_decode($json, true)
,如果您想要关联数组而不是对象,请使用。