如何将javascript对象转换为字符串?

sar*_*ran 0 javascript json

我想将javascript对象转换为字符串,以便它可以在所有浏览器中使用

我曾经object.toSource();将它转换为字符串.它只在firefox中工作正常.

在IE中它显示

Object不支持此属性或方法

我用JSON.stringify(object);这次替换它我得到一个错误,因为"不支持值参数中的循环引用".我不确定问题是什么.

我使用时得到了这个输出 object.toSource();

jJSON数据是

({test:["456","测试事件",(新日期(1332131400000)),(新日期(1332135000000)),"0",0,0,"16",1,"某处"," ...............

我需要将这个JSON数据转换为字符串.......

谁可以帮我这个事?
谢谢

abe*_*sto 6

toSource()IE中不支持该方法; 已知浏览器的JavaScript实现有些不同,这是其中一种情况.

JSON不能表示循环引用.这是循环引用的示例:

var a = {}, b = {a: a};
a.b = b;
// Now I can go a.b.a.b.a.b.a.b... forever; there's no way to represent this in JSON
Run Code Online (Sandbox Code Playgroud)

您可能应该实现自己的序列化方法,可能通过重写toString().如果你想坚持使用JSON,你将不得不删除循环引用.