У меня есть таблица с загрузкой строк сериализованных массивов, которые я планирую запросить и передать ее JavaScript
.
Проблема в том, можно ли unserialize
JavaScript, а не PHP?
В противном случае мне придется загружать все строки, зацикливать их и неэтериализовывать и назначать их временному массиву PHP, а затем json_encode вернуться к JavaScript, который кажется крайне неэффективным, если я могу отправить данные, все еще сериализованные, чтобы JavaScript мог неэриализовать данные, когда это необходимо.
Есть ли встроенная функция Javascript, которая делает это, или мне придется зацикливать строки в PHP до того, как я ее закодирую?
Примечание. Я не использую jQuery.
EDIT: Пример моих сериализованных данных в PHP из моей таблицы:
a:8:{i:0;a:2:{i:0;i:10;i:1;i:11;}i:1;a:2:{i:0;i:9;i:1;i:11;}i:2;a:2: {i:0;i:8;i:1;i:11;}i:3;a:2:{i:0;i:8;i:1;i:10;}i:4;a:2:{i:0;i:8;i:1;i:9;}i:5;a:2: {i:0;i:8;i:1;i:8;}i:6;a:2:{i:0;i:8;i:1;i:7;}i:7;a:2:{i:0;i:8;i:1;i:6;}}
wrap json_encode
вокруг unserialize
echo json_encode( unserialize( $array));
Php.js имеет javascript реализации unserialize и serialize:
http://phpjs.org/functions/unserialize/
http://phpjs.org/functions/serialize/
Тем не менее, вероятно, более эффективно конвертировать в JSON на стороне сервера. JSON.parse будет намного быстрее, чем unserialize от PHP.js.
http://php.net/manual/en/book.json.php
Просто заметил ваш комментарий, так что мы идем:
в PHP
json_encode(unserialize(SerializedVal));
в JavaScript:
JSON.parse(JsonString);