0

我对 JSON 很陌生,我正在尝试从 google + JSOn 获取用户数据 代码是 https://www.googleapis.com/plus/v1/people?query=saurabh+sharma&key=AIzaSyADJjj8IeKuGb-woleHKTVouSlvAJUpTrs

请帮我在 php 中检索用户配置文件..

4

2 回答 2

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),将其作为 JSON 解释为有效的 PHP 结构。从结构中,我们将标题打印为 H1 标题。从项目(一个数组)中,我们遍历每个项目,打印图像 src from $objUser->image->url,打印用户链接 $objUser->url 及其名称$objUser->displayName,以及可选的$objUser->objectType在 Google 上注册的对象类型。

因为一切都是对象,所以你使用对象来变量语法' ->xyz'而不是数组索引' ["xyz"]',我猜你被困在那里了。这$objPeopleFeed->items是一个非关联数组,因此您可以使用数字循环遍历项目($objPeopleFeed->items[0]第一项,1 表示第二项,等等......)。作为您的最终 cookie,您可以将count($objPeopleFeed->items)其用作结果计数。

于 2013-01-11T07:55:10.053 回答
0

var_dump(json_decode(file_get_contents('https://www.googleapis.com/plus/v1/people?query=saurabh+sharma&key=AIzaSyADJjj8IeKuGb-woleHKTVouSlvAJUpTrs')));

于 2013-01-10T23:32:59.323 回答