无法从返回的Web服务代码中获取值

时间:2019-08-14 14:31:13

标签: php arrays json

当我使用系统的其余API时,无法将特定“字段”的值返回到PHP中。 错误消息说:

  

注意:试图获取非对象的属性。

$response = file_get_contents('https:/....');
echo $response->Ticket['Owner'];
echo $response->Ticket->Owner;
echo $response['Owner'];
{"Ticket":[{"Owner":"root@localhost","EscalationTime":0,"Age":17628,"ChangeBy":7}]}"

是我得到的回报的一部分。现在我想存储例如“所有者”变成一个php变量。...

但是使用$response->Owner$response->Ticket->Owner

我得到了非对象错误的属性

2 个答案:

答案 0 :(得分:1)

看看这个:

$obj = '{"Ticket":[{"Owner":"root@localhost","EscalationTime":0,"Age":17628,"ChangeBy":7}]}';  
// This is what you get from your rest API

$arr = json_decode($obj);  // decode the JSON string

print_r($arr);

输出将是:

stdClass Object
(
    [Ticket] => Array
        (
            [0] => stdClass Object
                (
                    [Owner] => root@localhost
                    [EscalationTime] => 0
                    [Age] => 17628
                    [ChangeBy] => 7
                )

        )

)

因此您可以访问以下数据:

echo $arr->Ticket[0]->Owner;

退出时间为: root @ localhost

Php fiddle

答案 1 :(得分:0)

解码后使用此:

echo $response["Ticket"][0]['Owner'];