Десериализовать массив JSON php - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь десериализовать массив JSON, возвращенный из mssql:

[  
   {  
      "Cust_id":38,
      "Contact_id":159,
      "Installer":true,
      "Supervisor":true,
      "Admin":true,
      "Token":"26754782238745DD4B7FEFA375FD5160"
   }
]

Код PHP, который я использую:

$user_data = json_decode($response['body'], true); 
//$response['body'] being the json returned from mssql

Но если я попытаюсь напечатать $user_data[0], Я получаю вывод:

381591113C93986662D8AABBCC420C196F821D7E

Это значение JSON, но сцепленное.

Я пробовал несколько комбинаций безрезультатно, все остальные запросы возвращаются без массиваОбертка и десериализация отлично.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

1 голос
/ 07 марта 2019

Я попытался десериализовать предоставленный вами массив и вывести значение @ 0-й индекс вывода.Результат выглядит нормально.

$arrayFromSql = '[  
   {  
      "Cust_id":38,
      "Contact_id":159,
      "Installer":true,
      "Supervisor":true,
      "Admin":true,
      "Token":"26754782238745DD4B7FEFA375FD5160"
   }
]'; 
        $decodedArray = json_decode($arrayFromSql, true); 
        var_dump($decodedArray[0]);

Вывод:

array(6){  
   [  
      "Cust_id"
   ]   => int(38)   [  
      "Contact_id"
   ]   => int(159)   [  
      "Installer"
   ]   => bool(true)   [  
      "Supervisor"
   ]   => bool(true)   [  
      "Admin"
   ]   => bool(true)   [  
      "Token"
   ]   => string(32) "26754782238745DD4B7FEFA375FD5160"
}bool(true)
0 голосов
/ 07 марта 2019

Работает.

$body='[  
   {  
      "Cust_id":38,
      "Contact_id":159,
      "Installer":true,
      "Supervisor":true,
      "Admin":true,
      "Token":"26754782238745DD4B7FEFA375FD5160"
   }
]'; 

    $user_data = json_decode($body, true);  
    print_r($user_data[0]);

Вывод

Array ([  
   Cust_id
]=> 38[  
   Contact_id
]=> 159[  
   Installer
]=> 1[  
   Supervisor
]=> 1[  
   Admin
]=> 1[  
   Token
]=> 26754782238745DD4B7FEFA375FD5160 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...