簡體   English   中英

如何將javascript對象轉換為字符串?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM