Stringify timestamp对象

时间:2013-01-09 23:55:06

标签: javascript json object serialization stringify

我如何JSON.stringify以下数据结构?

var Records = {
    1357775376232: {
        pageX: 0,
        pageY: 0,
        scrollLeft: 0,
        scrollTop: 0,
        target: #document,
        type: null,
        value: undefined
    },
    1357775376243: {
        pageX: 69,
        pageY: 10,
        scrollLeft: 0,
        scrollTop: 0,
        target: <a>,
        type: "click",
        value: ""
    }
    // ...etc...
};

2 个答案:

答案 0 :(得分:4)

此对象看起来包含对documenta标记的引用。在删除此类引用之前,您将无法对其进行序列化。

一个简单的解决方案是:

var arrayWithRefs = [...];
var arrayWithout = [];

for (var i = 0; i < arrayWithRefs.length; i++) {
  arrayWithout[i] = {
    safeProperty: arrayWithRefs[i].safeProperty;
    // copy whatever you want, omitting document references
  };
}

var serialized = JSON.stringify(arrayWithout);

当然,有些库可以帮助您选择所需的属性。我建议下划线(通用)或 cryo (正是您正在尝试的内容):

答案 1 :(得分:0)

不使用普通对象,而是使用XPath作为元素。