1

我有一个用 php 编写的网页,我可以从他的链接中的个人资料中获取有关用户的一些信息,这要归功于 API 中的链接。它给了我以下 json 对象。和 :

$user = json_decode($response);

方法我将以下 json 对象解码为 $user 对象。

{ "firstName": "Tolga", "lastName": "Evcimen", "skills": { "_total": 2, "values": [ { "id": 1, "skill": {"name": "Microsoft Office"} }, { "id": 2, "skill": {"name": "Microsoft Excel"} } ] } }

我不能使用这些值,我的 php 知识有点低,这就是为什么我不知道如何阅读技能或其他任何东西。到目前为止,我唯一能读到的是:

$user->firstName , $user->lastName

但我不能用同样的方法得到其余的:(

$user->skills->values[1]->skill->name, or $user->skills->_total

请给我一些关于这些事情的信息

4

3 回答 3

2

这有效:

echo $user->firstName;
echo $user->skills->values[0]->id;
echo $user->skills->values[0]->skill->name;

结果:

Tolga
1
Microsoft Office

在 PHP 小提琴上进行测试:http: //phpfiddle.org/main/code/x18-z6f

于 2013-06-10T19:07:46.003 回答
1

我对此没有任何问题,也许可以发布一个代码示例,这样我们就可以看到你哪里出错了。

$user->skills->values[1]->skill->name

例子:

<?php
    $response = '{
      "firstName": "Tolga",
      "lastName": "Evcimen",
      "skills": {
        "_total": 2,
        "values": [
          {
            "id": 1,
            "skill": {
              "name": "Microsoft Office"
            }
          },
          {
            "id": 2,
            "skill": {
              "name": "Microsoft Excel"
            }
          }
        ]
      }
    }';

    $user = json_decode($response);

    var_dump($user->skills->values[1]);

?>

输出:

object(stdClass)#5 (2) {
  ["id"]=>
  int(2)
  ["skill"]=>
  object(stdClass)#6 (1) {
    ["name"]=>
    string(15) "Microsoft Excel"
  }
}
于 2013-06-10T19:34:34.263 回答
0

非常感谢,事实证明我在代码中犯了一些其他错误,而不是 echo 我使用了 print,并且有点把它弄混了。这就是为什么我无法在代码中实现正确的行为。

$user = fetch('GET', '/v1/people/~:(firstName,lastName,skills)');
print "\n <\br> Hello $user->firstName $user->lastName."; 
print " $user->skills->values[0]->skill->name";
echo $user->skills->values[0]->skill->name;
exit; 

不工作:)

echo "\n <\br> Hello $user->firstName $user->lastName.";  
echo $user->skills->values[0]->skill->name;

工作正常。

感谢您的关心。

于 2013-06-10T19:39:50.197 回答