Сохранение объекта в строку
Что то типа как в php serialize/unserialize работает, для js готовенького я не нашел. Может встречали где в библиотеке?
Даже упрощенный вариант - нужный упаковать/восстановить элемент - объект объектов, типа:
var obj = {}
obj.x = 10;
obj.data = {}
obj.data.p = {}
...
Смысл - у меня создается в программе такой ветвленный объект, надо получить его строковую версию, чтобы потом из нее восстановить. Понимаю, что делается json/eval, но может как еще или кто делал себе такое:) ? |
Ммм, а зачем как-то ещё?
|
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;
}
|
Ну тут сериализовать дерево объектов. Так что такой метод не совсем пойдёт. Ещё бы интересно узнать, какие типы будут в объектах, если строки и числа - это одно, а если всё от undefined до function то геморроя будет чуть поболее.
|
Свойством объекта у меня могут быть или число или строка или такой же объект. Т.е. рекурсия как минимум. Ну ладно, ручками я и сам напишу. Хотел просто готовое, проверенное решение - объект в json, а назад eval - чтобы подсказали где найти.
|
JSON.stringify и JSON.parse
|
| Часовой пояс GMT +3, время: 01:24. |