Я работаю над своим первым проектом с нуля. Прости мое невежество.
У меня есть страница, заполненная данными, возвращаемыми из API ASP.net. Я подключаюсь к API успешно использую SoapClient
, но я не могу успешно разобрать результаты.
Как я могу отобразить статус в объекте ниже?
Возвращаемый объект:
stdClass Object(
[LoginResult] => {
"Result":{
"Status":"FAILED",
"Message":"Access Denied"},
"SessionToken":""}
)
Мой код:
$loginResult->Result;
Я получаю ошибку:
Undefined property: stdClass::$Result
,
Если $loginResult
переменная возвращаемого результата, то это объект со свойством LoginResult
который содержит объект в кодировке JSON. После декодирования в виде массива он имеет 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;
Других решений пока нет …