Сохранение объекта в строку
Что то типа как в 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, время: 10:59. |