如何在JavaScript中将对象转换为String,特别是来自浏览器的`document`对象?

时间:2011-11-12 18:40:36

标签: javascript json object

我无法使用JSON.Stringify,因为document对象深入了许多层次。我在http://www.davidpirek.com/blog/object-to-string-how-to-deserialize-json尝试了该功能,但收到错误_o.hasOwnProperty is not a function。有人有任何建议或提示吗?

2 个答案:

答案 0 :(得分:1)

您无法使用JSON.stringify将“document”序列化为JSON字符串,因为它包含循环引用。处理循环引用的一种方法是实现自己的stringify方法,该方法保留循环引用的轨迹并排除它们。 (见这个答案:How to solve circular reference in json serializer caused by hibernate bidirectional mapping?

正如评论中已经说过的,你真的需要序列化文档对象吗?

我一直在使用类似的项目(广告时间:http://hannotaatio.futurice.com),我们不会序列化文档对象。而是使用JavaScript存储来自文档对象的相关信息。代码在Github上,所以请随时查看。

答案 1 :(得分:0)

显然,一种方法就是使用jQuery。我不喜欢它,但它现在也会这样做。