Почему не работает Json_decode в php?

156
23 февраля 2021, 22:50

Вот пример скрипта

https://pastebin.com/BfkQf0NG

При использование json_decode в php, ничего не выводится

Я пробовал сам вписать json код, $res=json_decode('{"Name":"Steve"}');

Print_r($res);

И он вывел всё верно. Вчём причина?

Вот сам запрос, который не декодируется

[{"id":"123hi","First_name":"Данил","Last_name":"Такой-то","email":"kalinindanilq7734@gmail.com","status":"Hello.","avatar":"http:\/\/example.com","pol":"М","date_reg":"25\/03\/2019 00:30","date_login":"10\/06\/2019 00:40"}]
Answer 1

У вас в JSON символ &#65279 в самом начале, он делает JSON невалидным и json_decode не может его распарсить.
&#65279 - это BOM (Byte Order Mark), удалите его и всё заработает.

function remove_utf8_bom($str)
{
    return str_replace("\xEF\xBB\xBF",'',$str); 
}
$string = '[{"id":"123hi","First_name":"Данил","Last_name":"Такой-то","email":"kalinindanilq7734@gmail.com","status":"Hello.","avatar":"http:\/\/example.com","pol":"М","date_reg":"25\/03\/2019 00:30","date_login":"10\/06\/2019 00:40"}]';
var_dump(json_decode(remove_utf8_bom($string)));
READ ALSO
MySQLi вывод записи

MySQLi вывод записи

Есть таблица с товарамиВыполняю запрос

106
Как будет работать GC

Как будет работать GC

Рассмотрим случай, когда объект хранит ссылку на самого себяНу например что-то вроде такого

92
Как правильно передать массив в метод?

Как правильно передать массив в метод?

Вопрос глупый, но сижу уже несколько часовМне нужно в созданный массив добавить кучу текстовых строк

139
Обработать пустой ответ JSON

Обработать пустой ответ JSON

С сервера приходит ответ такого плана:

101