[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: аналог json_decode
krasilich
Ситуация такая, на хостинге не оказалось расширения php json.
Нужен аналог json_decode.
На входе строка в формате json на выходе ассоциативный массив.

У кого есть код или линк, поделитесь, буду благодарен.

Понимаю что пишется в 10 строчек, но в данный момент просто лень это делать=)



Спустя 17 минут, 38 секунд (28.01.2010 - 18:26) krasilich написал(а):
Нашлось

function json2array($json){

if(get_magic_quotes_gpc()){
$json = stripslashes($json);
}
$json = substr($json, 1, -1);

$json = str_replace(array(":", "{", "[", "}", "]"), array("=>", "array(", "array(", ")", ")"), $json);

@eval("\$json_array = array({$json});");

return $json_array;

}

Спустя 1 месяц, 8 дней, 3 часа, 52 минуты, 54 секунды (6.03.2010 - 22:19) 4ekiss написал(а):
спасибо за функцию, пригодилась! =)

Спустя 25 дней, 15 часов, 42 минуты, 41 секунда (2.04.2010 - 13:02) Констатнтин написал(а):
В json_decode($json, true) - вернет ассоциативный массив)

Спустя 6 месяцев, 18 дней, 4 часа, 38 минут, 32 секунды (20.10.2010 - 17:40) Guest написал(а):
igbinary_unserialize

igbinary_serialize


В итоге Igbinary сжимает данные в 2,5 раза лучше, чем serialize.

Float
Serialize Igbinary /
Time ser 1 388 ms 74 ms 18,9
Time unser 868 ms 86 ms 10,1
Size 5 650 1 085 5,2
Bytes / El 56,5 10,9

Спустя 15 секунд (20.10.2010 - 17:41) Guest написал(а):
Результаты для Integer:

Integer
Serialize Igbinary /
Time ser 167 ms 82 ms 2,0
Time unser 111 ms 100 ms 1,1
Size 1 737 706 2,5
Bytes / El 17,4 7,1

Integer Small
Serialize Igbinary /
Time ser 143 ms 71 ms 2,0
Time unser 99 ms 83 ms 1,2
Size 991 406 2,4
Bytes / El 9,9 4,1

Integer Big
Serialize Igbinary /
Time ser 143 ms 75 ms 1,9
Time unser 116 ms 84 ms 1,4
Size 1 798 706 2,5
Bytes / El 18,0 7,1

Сериализовались массивы из 100 элементов (по 1000 циклов на тест).
Integer – числа по рандому, Integer Small – числа до 100, Integer Big – числа более 1 000 000 000.

Спустя 8 минут, 17 секунд (20.10.2010 - 17:49) arvitaly написал(а):
Можно и gzip и чо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.