访问从ASP.net返回的对象属性

时间:2014-12-11 20:38:31

标签: php asp.net parsing properties

我正在开展我的第一个从零开始的后端项目。原谅我的无知。

我有一个页面,它由ASP.net API返回的数据填充。我使用SoapClient成功连接到API,但我无法成功解析结果。

如何在下面的对象中回显状态?

返回的对象是:

stdClass Object(
    [LoginResult] => {
        "Result":{
            "Status":"FAILED",
            "Message":"Access Denied"},
        "SessionToken":""
    }
)

我的代码是:

$loginResult->Result;

我收到的错误是:

Undefined property: stdClass::$Result

1 个答案:

答案 0 :(得分:1)

如果$loginResult是返回结果的变量,那么它是一个包含JSON编码对象的属性LoginResult的对象。解码为数组后,它有一个Result键数组,其中包含键StatusMessage

$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;