[英]How to convert javascript object into string?
我想將javascript對象轉換為字符串,以便它在所有瀏覽器中都能正常工作
我用了object.toSource();
將其轉換為字符串。 僅在Firefox中可以正常工作。
在IE中顯示
對象不支持此屬性或方法
我將其替換為JSON.stringify(object);
這次,我收到一條錯誤消息,“不支持value參數中的循環引用”。 我不確定是什么問題。
當我使用object.toSource();
時,我得到了這個輸出object.toSource();
jJSON數據是
({test:[“ 456”,“ Test event”,(new Date(1332131400000)),(new Date(1332135000000)),“ 0”,0,0,“ 16”,1,“ Some place”,“ ......
我需要將此JSON數據轉換為字符串.......
誰可以幫我這個事?
謝謝
IE不支持toSource()
方法。 已知瀏覽器的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
您可能應該通過重寫toString()來實現自己的序列化方法。 如果要堅持使用JSON,則必須刪除循環引用。
循環引用就是這個意思。 您的對象中有一個循環引用。 例如,想象一下js代碼:
var a = {a: 'test'};
a.b = a;
現在我們要對 我們從{"a":"test","b":
,然后我們看到ab是一個對象,好吧,我們也對該對象調用stringify,最后以{"a":"test","b":{"a":"test","b":
等。 您可能會看到,這個循環永遠不會結束,因此您有一個循環引用,無法以這種方式進行序列化。
可能您會對JSONplus感興趣。它可以解決“循環引用”。但是其文檔為中文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.