PHP: нужна функциональность json encode() 5.3 в 5.2


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

 12
Author: Charles, 2010-04-14

2 answers

Приведение в качестве объекта перед кодированием работало для меня в 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}

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

 19
Author: typeoneerror, 2017-05-23 12:19:05

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

Оформление заказа http://pear.php.net/package/Services_JSON/

 1
Author: Haris, 2010-04-14 00:03:09