функция json_decode не является частью PHP 5.1, таким образом, я не могу использовать его. Есть ли какая-либо другая функция для этой версии?
До PHP 5.2 вы можете использовать расширение JSON PECL .
Фактически, это расширение, которое было интегрировано в PHP 5.2 ( цитата ) :
Начиная с PHP 5.2.0, расширение JSON имеет вид {{1 }} объединены и скомпилированы в PHP по умолчанию .
Некоторые другие решения могут заключаться в использовании некоторых компонентов, разработанных на PHP.
Некоторое время назад (около года назад) я использовал компонент Zend_Json
из Zend Framework с PHP 5.1.
Даже если Zend Framework требует PHP 5.2, этот компонент можно извлечь (я думаю, это зависит только от одного другого компонента - может быть Zend_Exception
или что-то в этом роде) - а год назад его можно было использовать с PHP 5.1.
Официальный веб-сайт JSON также содержит ссылки на несколько компонентов на основе PHP или ориентированных на PHP - вы можете взглянуть на этот список.
В платформе Zend есть Zend_Json. По крайней мере, так было пару лет назад.
http://framework.zend.com/download
Вы можете просто извлечь библиотеку JSON и использовать ее автономно.
<?php
if ( !function_exists('json_decode') ){
function json_decode($json)
{
// Author: walidator.info 2009
$comment = false;
$out = '$x=';
for ($i=0; $i<strlen($json); $i++)
{
if (!$comment)
{
if ($json[$i] == '{' || $json[$i] == '[') $out .= ' array(';
else if ($json[$i] == '}' || $json[$i] == ']') $out .= ')';
else if ($json[$i] == ':') $out .= '=>';
else $out .= $json[$i];
}
else $out .= $json[$i];
if ($json[$i] == '"') $comment = !$comment;
}
eval($out . ';');
return $x;
}
}
?>
это не проверено, я нашел его в Интернете
http: //www.php .net / manual / en / function.json-decode.php # 91216
Вы видите эту ошибку, потому что у вас версия php раньше, чем 5.2.0. Эти функции включены по умолчанию в php 5.2.0 и выше.
PHP Fatal error: Call to undefined function json_encode()
Вы можете установить расширение PECL, выполнив:
pecl install json
Он скомпилируется, затем добавьте это в ваш php.ini
файл: (мой находится в /etc/php5/apache2
)
extension=json.so
Затем перезапустите apache.