PHP: нужен функционал json_encode () 5.3 в 5.2 - PullRequest
12 голосов
/ 14 апреля 2010

Короче говоря, хостинг клиента использует php 5.2.5, и мне крайне необходимо использовать опцию JSON_FORCE_OBJECT с json_encode(), поставляемой с 5.3. Кто-нибудь знает какой-нибудь эквивалент для этой цели? Укажите, пожалуйста.

Ответы [ 2 ]

19 голосов
/ 14 апреля 2010

Приведение в качестве объекта до кодирования работало у меня на 5.2.5:

$array = array(1,2,3);

echo json_encode($array);
// [0,1,2]
echo json_encode((object)$array);
// {"0":1,"1":2,"2":3}

И использование PHP 5.3 дает тот же результат:

echo json_encode($array);
// [0,1,2]
echo json_encode($array, JSON_FORCE_OBJECT);
// {"0":1,"1":2,"2":3}

Вы также можете попробовать это решение из другого потока. Не уверен, каков ваш точный вариант использования.

1 голос
/ 14 апреля 2010

Вы можете использовать пакет PHP pear для поддержки json_encode в старых версиях PHP. Кажется, он поддерживает закодированные объекты.

Оформить заказ http://pear.php.net/package/Services_JSON/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...