暂时删除toJSON fn对象的成员

时间:2012-10-06 23:34:12

标签: javascript json backbone.js local-storage parse-platform

我正在尝试将变量存储在我的移动网站上的localStorage中,因此如果用户离开,他们的状态不会丢失。为此,我将所有重要数据作为JSON存储在localStorage中。但是,数据的某些部分是Parse对象(Backbone模型)并具有toJSON函数。为了不显眼地存储数据,我需要删除toJSON以便对象按原样存储,然后重新附加它。但是,我的代码无效:

                var toJSON = null;
                if(obj && obj.toJSON) {
                    toJSON = obj.toJSON;
                    delete obj.toJSON;
                }

                window.localStorage[localStorageIndex] = JSON.stringify(obj);

                if(toJSON)
                    obj.toJSON = toJSON;

任何想法为什么? 感谢。

2 个答案:

答案 0 :(得分:1)

试一试:

obj.toJSON = undefined;

window.localStorage[localStorageIndex] = JSON.stringify(obj);

delete obj.toJSON;

这应该会暂时将原型toJSONundefined混为一谈,导致stringify()跳过它。

答案 1 :(得分:0)

我学会了不使用localStorage存储重物......