Ошибка Call to undefined function json_decode() или json_encode()

Это значит, что у Вас не определяется функция json_decode() или json_encode(). А это может быть в случае если у вас php ниже 5.2.0.

Как это пофиксить без обновления:

Качаем либу http://mike.teczno.com/JSON.tar.gz

Вставляем где нужно:
if( !function_exists('json_encode') ) {
    function json_encode($data) {
        $json = new Services_JSON();
        return( $json->encode($data) );
    }
}

// Future-friendly json_decode
if( !function_exists('json_decode') ) {
    function json_decode($data, $bool) {
        if ($bool) {
            $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
        } else {
            $json = new Services_JSON();
        }
        return( $json->decode($data) );
    }
}


Подключаем либу:
include("JSON.php");


Всо -) пс, ТыЦ Дэсять -)




Рекомендую к просмотру:На правах рекламы: стрижка волос - http://uslugi.slando.com.ua/kiev/31120_1.html. . Kliniki v germanii khaunershen gorod.
Блог » PHP / / 28.01.10 / Комментарии [16] / Печать
phpinfo показывается, что у хостера PHP Version 5.2.10, но сабжевая ошибка тем не менее появляется
какие могут быть варианты?
10 марта 2010 23:58 —   цитировать
ZradeG, хмхм в версии выше старше 5.2.0 поддержка JSON встроена в ядро. как вариант все таки их подключить вручную как написано в посте...
11 марта 2010 00:11 —   цитировать
utz0r2, а можно ли как-то осуществить это подключение, не обладая правами доступа куда-либо кроме домашней директории?
дело-то у хостера на сервере происходит
11 марта 2010 09:31 —   цитировать
ZradeG, можно
11 марта 2010 19:46 —   цитировать

utz0r2,
А не подскажешь как?
Пишу маленький плагин, который будет работать и на PHP низших версий
Заранее благодарен
15 февраля 2011 12:38 —   цитировать
об этом и пост. подключить класс и юзать как буд-то поддержка есть -)
16 февраля 2011 10:09 —   цитировать
Ошибка JSON DATA ERROR: Fatl error: Call to undefined function: json_decode() in
plugins\editors\jce\libraries\classes\plugin.php on line 860

В текстовом редакторе JCE, когда открываю библиотеку, чтобы вставить изображение в текст. Подойдет ли описанный вами способ?

Если да, подскажите, пожалуйста, где нужно вставлять код? И где подключать либу, а главное как? Заранее спасибо за ликбез)))
24 февраля 2011 17:30 —   цитировать
Скиньте файлик JSON.php в plugins\editors\jce\libraries\classes\

и в plugins\editors\jce\libraries\classes\plugin.php в самом верху после <?php вставте код: include("JSON.php");
24 февраля 2011 19:47 —   цитировать
Советчикус, Здравствуйте . Сделал как Вы написали, - ПРОБЛЕМА осталась
Ошибка JSON DATA ERROR: Fatl error: Call to undefined function: json_decode() in
plugins\editors\jce\libraries\classes\plugin.php on line 860
28 марта 2011 01:17 —   цитировать
polkan,
Из поста
Вставляем где нужно: ДАЛЬШЕ КОД

этот код тоже надо вставить после include("JSON.php");
28 марта 2011 12:11 —   цитировать
Вот незадача, а я так обрадовался что заработает, вставил код и в результате
JSON DATA ERROR : <br />
<b>Warning</b>: Missing argument 2 for json_decode(), called in /var/www/vhosts/life-miracle.ru/httpdocs/plugins/editors/jce/libraries/classes/plugin.php on line 879 and defined in <b>/var/www/vhosts/site.ru/httpdocs/plugins/editors/jce/libraries/classes/plugin.php</b> on line <b>12</b><br />
<br />
<b>Notice</b>: Undefined variable: bool in <b>/var/www/vhosts/site.ru/httpdocs/plugins/editors/jce/libraries/classes/plugin.php</b> on line <b>13</b><br />
{"result":[{"folders":[{"id":"index.php?option=com_content&view=section&id=1","url":"&q
uot;,"name":"\u041c\u0415\u041d\u042e","class":"folder content"},{"id":"index.php?option=com_content&view=section&id=2","url":"","name":"
\u041d\u041e\u0412\u041e\u0421\u0422\u0418","class":"folder content"},{"id":"option=com_content&amp;view=uncategorized","url":"","name":"Uncategor
ized","class":"folder content nolink"}]}]}

скажу честно, мне это ничего не говорит , надеюсь на Вашу помощь. СПАСИБО !
28 марта 2011 16:14 —   цитировать
Странно потому что если мне не изменяет память то в JCE есть этот класс JSON который и предусмотрен на случай когда пхп не поддерживает его, посему Вам этот хак не нужен.

1) Очистите кэш, не помогло? тогда п.2
2) Обновить JCE http://www.joomlacontenteditor.net/downloads/editor/joomla15x
28 марта 2011 21:36 —   цитировать
utz0r2,
Не помогло....
а может данная ошибка возникать если у хостера
Версия PHP: 5.1.6 я нашёл материал , что она должна быть >= 5.2 Так ?
29 марта 2011 00:29 —   цитировать
Нет, там в http://www.joomlacontenteditor.net/requirements что нужно PHP5 и класс JSON вложен в плагин. У Вас проблема в чем-то другом
29 марта 2011 10:36 —   цитировать
Решение проблемы найдено !!! Удалил старую версию 1577 и установил 15710 , с одним НО, файлы удалял вручную через FileZilla , т.к. заметил что после стандартной процедуры удаления (Расширения - Установить - Удалить - Компоненты
там выделить JCE и нажать Удалить) удаляются не все файлы, вернее файлы все а вот коренные папки остаются такие как,
administrator/components/com_jce
components/com_jce
plugins/editors/jce
И вот только после ручного удаления этих папок
ВСЁ ВСТАЛО И ЗАРАБОТАЛО !!!
31 марта 2011 00:54 —   цитировать
Большое спасибо за совет! Версия PHP Version 5.2.10, но пришлось JSON подключить на хостинге, всё заработало.
9 июля 2011 18:46 —   цитировать

Оставить комментарий