首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Json中解码以下代码?

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

Stack Overflow用户
提问于 2013-01-19 07:10:52
回答 3查看 113关注 0票数 0

我正在尝试使用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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-19 07:25:31

默认情况下,PHP的json_decode返回stdClass的一个实例。

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

代码语言:javascript
复制
$var = json_decode('[{"total_count":17}]', true);

在此之后,您可以作为$result[0]['total_count']访问该变量

票数 2
EN

Stack Overflow用户

发布于 2013-01-19 07:22:18

有关如何阅读它的示例,请参阅此JS小提琴:

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

它基本上和PHP的代码一样,只是你需要把true作为你的第二个参数传递给json_decode,告诉php你想把它用作关联数组而不是实际的对象:

代码语言:javascript
复制
<?php
    $result = json_decode('[{"total_count":17}]', true);
    print $result[0]['total_count'];
?>

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

票数 0
EN

Stack Overflow用户

发布于 2013-01-19 07:27:37

代码语言:javascript
复制
$json = "[{\"total_count\":17}]";

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

或者,如果需要关联数组而不是对象,请使用json_decode($json, true)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14409123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档