我正在开展我的第一个从零开始的后端项目。原谅我的无知。
我有一个页面,它由ASP.net API返回的数据填充。我使用SoapClient
成功连接到API,但我无法成功解析结果。
如何在下面的对象中回显状态?
返回的对象是:
stdClass Object(
[LoginResult] => {
"Result":{
"Status":"FAILED",
"Message":"Access Denied"},
"SessionToken":""
}
)
我的代码是:
$loginResult->Result;
我收到的错误是:
Undefined property: stdClass::$Result
。
答案 0 :(得分:1)
如果$loginResult
是返回结果的变量,那么它是一个包含JSON编码对象的属性LoginResult
的对象。解码为数组后,它有一个Result
键数组,其中包含键Status
和Message
:
$array = json_decode($loginResult->LoginResult, true);
echo $array['Result']['Status'];
如果你没有将true
传递给json_decode
,那么你会得到一个包含另一个对象的解码对象,并会使用:
$object = json_decode($loginResult->LoginResult);
echo $object->Result->Status;
在PHP> = 5.4.0中你应该可以:
echo json_decode($loginResult->LoginResult, true)['Result']['Status'];
// or
echo json_decode($loginResult->LoginResult)->Result->Status;