NULL при попытке загрузить локальный JSON-файл

268
30 августа 2017, 17:07

Привет. Многочисленные темы, созданные на StackOverflow говорят, что загрузить локальный .json-файл и превратить его в многомерный массив нужно так:

$cities = json_decode(file_get_contents("cities.json"), true);

Но у меня что-то пошло не так. Эта строчка кода выдаёт мне NULL. При этом, если сделать print_r(file_get_contents("cities.json"));, то выведется нужный мне json-файл в виде строки. Я что-то делаю не так?

Answer 1

Проблема была в кодировке. JSON-файлы должны быть закодированы в UTF-8 без BOM.

Answer 2

В 7.2 уже json_decode уже сам начнет сообщать об ошибках, а пока надо использовать json_last_error_msg(), получать сообщение об ошибке, и только потом исправлять, конкретную ошибку

READ ALSO
Наложение водяного знака на картинку

Наложение водяного знака на картинку

Понадобилось наложить водяной знак на изображение, нашел в интернете такой код:

379
No 'Access-Control-Allow-Origin' header is present on the requested resource

No 'Access-Control-Allow-Origin' header is present on the requested resource

С одного домена/сервера на другой идет ajax запрос, выходит ошибка No 'Access-Control-Allow-Origin' header is present on the requested resourceВ

286
Поиск зависимостей в наборе числ на php

Поиск зависимостей в наборе числ на php

Здравствуйте! Нужно найти зависимость в наборе чисел, при генерации использовался генератор случайных чисел, какой именно не знаюСгенерировано...

294