Javascript 字符串化时间戳对象

Javascript 字符串化时间戳对象,javascript,json,object,serialization,stringify,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: { p

如何
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...
};
var记录={
1357775376232: {
第X页:0,
pageY:0,
左:0,
滚动顶端:0,
目标:#文件,
类型:null,
值:未定义
},
1357775376243: {
第X页:69,
佩吉:10,
左:0,
滚动顶端:0,
目标:,
键入:“单击”,
值:“”
}
//……等等。。。
};

此对象似乎包含对
文档
标记的引用。在删除此类引用之前,您将无法序列化它

一个简单的解决方案是:

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);
var arrayWithRefs=[…];
var ArrayWhout=[];
对于(变量i=0;i
当然,还有一些库可以帮助您提取所需的属性。我推荐下划线(通用)或cryo(正是您所尝试的):


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

JSON.stringify()
有什么不起作用的?@Pointy没有,我得到了
未捕获的类型错误:将循环结构转换为JSON
也没有帮助……这意味着你有一个不可序列化的对象。如果你想在没有“…等…”部分的情况下发布对象的确切外观,那么有人可能会提供帮助。什么是
#document
?如果它们是DOM节点引用,则无法序列化。@bfavaretto是的,你说得对。。。有什么解决方法吗?完全公开,我是这个库的作者:-“类固醇上的JSON”-它可以让您毫无问题地对DOM元素进行字符串化。用大量单元测试替换JSON.stringify/JSON.parse。