Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сохранение объекта в строку (https://javascript.ru/forum/misc/9148-sokhranenie-obekta-v-stroku.html)

micscr 01.05.2010 11:58

Сохранение объекта в строку
 
Что то типа как в php serialize/unserialize работает, для js готовенького я не нашел. Может встречали где в библиотеке?
Даже упрощенный вариант - нужный упаковать/восстановить элемент - объект объектов, типа:
var obj = {}
obj.x = 10;
obj.data = {}
obj.data.p = {}
...

Смысл - у меня создается в программе такой ветвленный объект, надо получить его строковую версию, чтобы потом из нее восстановить.

Понимаю, что делается json/eval, но может как еще или кто делал себе такое:) ?

Kfuse 01.05.2010 12:12

Ммм, а зачем как-то ещё?

exec 01.05.2010 12:33

function serialize (obj) {
var str = '';
for (i in obj) str += (i + ': ' + obj[i] + ', ');
return str;
}


function deserialize (str) {
var obj = {};
a = str.split(', '), i = a.length;
while (i--) obj[a[i].split(':')[0]] = a[i].split(':')[1]
return obj;
}

Kfuse 01.05.2010 12:39

Ну тут сериализовать дерево объектов. Так что такой метод не совсем пойдёт. Ещё бы интересно узнать, какие типы будут в объектах, если строки и числа - это одно, а если всё от undefined до function то геморроя будет чуть поболее.

micscr 01.05.2010 12:51

Свойством объекта у меня могут быть или число или строка или такой же объект. Т.е. рекурсия как минимум. Ну ладно, ручками я и сам напишу. Хотел просто готовое, проверенное решение - объект в json, а назад eval - чтобы подсказали где найти.

Octane 01.05.2010 13:29

JSON.stringify и JSON.parse


Часовой пояс GMT +3, время: 10:59.