我如何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...
};
答案 0 :(得分:4)
此对象看起来包含对document
和a
标记的引用。在删除此类引用之前,您将无法对其进行序列化。
一个简单的解决方案是:
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作为元素。