Ответ: это восприятие, а не ошибка как таковая.
Браузеры могут быть очень полезны, когда дело доходит до отображения данных. Когда браузер получает заголовок с соответствующим типом контента для json (я полагаю, это application/json
), он пытается проанализировать контент как json. Это ваш первый снимок экрана, когда вы видите данные из источника, где они, вероятно, получают правильные заголовки.
Я ожидаю, что ваш php-скрипт не устанавливает никаких заголовков перед примером кода, который вы нам дали, оставляя самому php решать, какие заголовки отправлять. Это означает, что он обычно возвращается к «text / html» (потому что это то, для чего исторически используется php). Теперь, когда ваш браузер получит этот заголовок, он попытается проанализировать ваш json как html, который не будет работать. Таким образом это печатает это "грязный".
Теперь, чтобы быть совершенно ясным здесь: на первом скриншоте 0..9 в каждой строке, это просто представление, которое предлагает вам ваш браузер, это не явно в данных. данные просто говорят: «это массив, в массиве есть эти элементы». хотя порядок значительный, но в json нет ключей для массивов!
Чтобы «исправить» вашу проблему, вы должны добавить соответствующие заголовки для вашего контента, вероятно,
header("Content-Type: application/json");
до того, как ваш код будет достаточным - по крайней мере, если я не ошибаюсь с типом MIME здесь (но я предполагаю, Что такое правильный тип содержимого JSON? содержит правильную информацию).