У меня есть приложение Symfony, которое использует json_encode
и json_decode
, чтобы вести учет некоторых цен.
Проблема в том, что json_decode
работает нормально в одном файле (я могу декодировать строку, хранящуюся в моей базе данных PSQL), но когда я вызываю ее из другого файла, json_decode
возвращает ноль, я проверяю кодировки файлов (все являются utf -8) таблицы и кодировка базы данных (тоже utf-8). Так что я не знаю, где может быть проблема, попробовал utf8_encode()
тоже ...
Любая помощь будет оценена.
Спасибо.
Вот действительный кодированный json (это был массив, закодированный php json_encode)
{"1":{"1":{"fechaInicio":"30-05-2011","precios":{"1":{"precio":"20000","abreviatura":"CLP"}},"fechaRetiro":"31-05-2011"}},"2":{"2":{"fechaInicio":"30-05-2011","precios":{"1":{"precio":"20000","abreviatura":"CLP"}},"fechaRetiro":"31-05-2011"}}}
Массив:
$preciosOfertor = Array ( [unidades] => Array ( [1] => Array ( [1] => Array ( [fechaInicio] => 30-05-2011 [precios] => Array ( [1] => Array ( [precio] => 20000 [abreviatura] => CLP ) ) [fechaRetiro] => 31-05-2011 ) ) [2] => Array ( [2] => Array ( [fechaInicio] => 30-05-2011 [precios] => Array ( [1] => Array ( [precio] => 20000 [abreviatura] => CLP ) ) [fechaRetiro] => 31-05-2011 ) ) ) )
Для кодирования я использую:
$preciosOfertor = json_encode($preciosOfertor);
Тогда я звоню
$precios = json_decode($databaseObject->getPreciosOfertor(),true);
Когда я использую json_decode в файле, который кодирует массив, он работает, но затем, когда я использую его в другом файле проекта, я просто получаю NULL с var_dump ().
Установил Services_JSON как предложено, но теперь я получаю пустой массив
Кодированный json с Services_JSON:
{"unidades":{"1":{"1":{"fechaInicio":"30-05-2011","precios":{"1":{"precio":"20000","abreviatura":"CLP"}},"fechaRetiro":"31-05-2011"}}}}
Но когда я вызываю $ json-> decode (), я получаю Array ()