我是JSON的新手,我正试图从谷歌+获取用户数据 JSOn代码是 https://www.googleapis.com/plus/v1/people?query=saurabh+sharma&key=AIzaSyADJjj8IeKuGb-woleHKTVouSlvAJUpTrs
请帮我修改用户个人资料..在php
答案 0 :(得分:0)
var_dump(json_decode(file_get_contents('https://www.googleapis.com/plus/v1/people?query=saurabh+sharma&key=AIzaSyADJjj8IeKuGb-woleHKTVouSlvAJUpTrs')));
答案 1 :(得分:0)
在阵列和物体之间确实有点混合马铃薯泥(=混乱)。 JSON完全是对象,除了数组'items',它是一个......对象的数组。
试试这个:
<?php
$strUrl = "https://www.googleapis.com/plus/v1/people?query=saurabh+sharma&key=AIzaSyADJjj8IeKuGb-woleHKTVouSlvAJUpTrs";
$strContents = file_get_contents($strUrl);
$objPeopleFeed = json_decode($strContents);
//It's an array of objects, so:
echo "<h1>{$objPeopleFeed->title}</h1>";
foreach($objPeopleFeed->items as $objUser)
{
echo "
<p>
<img src='{$objUser->image->url}' />
<a href='{$objUser->url}'>{$objUser->displayName}</a>
<i>{$objUser->objectType}</i>
</p>";
}
?>
它的作用:它从Web获取内容(即JSON),将其解释为有效的PHP结构中的JSON。从结构中,我们将标题打印为H1标题。从作为数组的项目中,我们循环遍历每个项目,从$objUser->image->url
打印图像src,打印用户链接$ objUser-&gt; url,其名称为$objUser->displayName
,并且可选择其类型为在Google上注册的对象$objUser->objectType
。
因为所有东西都是某种对象,所以你使用该对象来改变语法“->xyz
”而不是数组索引“["xyz"]
”,我想你会陷入困境。 $objPeopleFeed->items
是一个非关联数组,因此您可以使用数字遍历项目(第一项为$objPeopleFeed->items[0]
,第二项为1,等等)。作为最终的Cookie,您可以使用count($objPeopleFeed->items)
作为结果计数。