我是JSON的新手,我正试图从谷歌+ JSOn代码获取用户数据

时间:2013-01-10 23:30:49

标签: php json

我是JSON的新手,我正试图从谷歌+获取用户数据 JSOn代码是 https://www.googleapis.com/plus/v1/people?query=saurabh+sharma&key=AIzaSyADJjj8IeKuGb-woleHKTVouSlvAJUpTrs

请帮我修改用户个人资料..在php

2 个答案:

答案 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)作为结果计数。