Извлечение данных JSON в PHP (с ошибкой «неопределенное свойство»)

Я хочу получить данные из API, но вместо этого получаю ошибку PHP «Неопределенное свойство».

Я пытаюсь получить ‘SESSION_ID’ в данных в данных. (JSON / POST)

{
"Data":
{
"Code":"00",
"Datas":
{
"COM_CODE":"80001",
"USER_ID":"USER_ID",
"SESSION_ID":"39313231367c256562253866253939256563253838253938:0HDD9DBtZt2e"},
"Message":"",
"RedirectUrl":""},
"Status":"200",
"Error":null
}

И мой код PHP для получения SESSION_ID это так. Во-первых, отправка $data и получить SESSION_ID,

function api_login(){$data = array(
"COM_CODE" => "000000",
"USER_ID" => "USER");

$ch = curl_init( "https://apifakeurl.com/Login" );
$payload = json_encode($data);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);

$json = json_decode($result);

$session_id = $json->Data->Datas->SESSION_ID;
//Here is the line where I get the 'Undefined Property' error.

return $session_id;
}

Поскольку я новичок в PHP, я не уверен, является ли проблема одной строкой ошибки, или вся структура неверна. Пожалуйста помоги!

1

Решение

если ваш возврат из $ result действительно похож на json, который вы написали, ваш код работает,

я думаю тебе нужно print_r($result) от завитка;

этот код может помочь:

<?php$json = '{
"Data":
{
"Code":"00",
"Datas":
{
"COM_CODE":"80001",
"USER_ID":"USER_ID",
"SESSION_ID":"39313231367c256562253866253939256563253838253938:0HDD9DBtZt2e"},
"Message":"",
"RedirectUrl":""},
"Status":"200",
"Error":null
}';

echo '<pre>';
$decode = json_decode($json);
print_r(json_decode($json));
$session_id = $decode->Data->Datas->SESSION_ID;
echo $session_id;
0

Другие решения

Мне повезло с этим синтаксисом:
$session_id = $json['Data']['Datas']['SESSION_ID'];

Не работает без одинарных кавычек в скобках.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector