2014-09-23 43 views
0

我們已經意識到,我們不能加雙引號中的雙引號:爲什麼字符串化JSON是一個有效的字符串?

var str = ""hello""; //這將是無效的字符串

但是當我字符串化這樣

var obj = {"name":"abc"} 
var str = JSON.stringify(obj). 
str // returns "{"name":"abc"}" 

的對象,是有效的,但不應該是。我很困惑,因爲在我們對JSON對象進行字符串化並忽略字符串驗證時,JavaScript有一些特殊情況?

在此先感謝。

+2

這就是您的控制檯代表顯示字符串的方式。更有效的例子是「{」name「:」abc「}'' – Phil 2014-09-23 04:25:02

+0

您的Javascript控制檯的開發人員只是選擇了一種令人困惑的方式來顯示字符串。 – user2357112 2014-09-23 04:33:51

回答

2

您可以根據需要在字符串文字中包含儘可能多的雙引號。你只需要使用反斜線前綴(\「而不是」)對它們進行掃描。 試試這個例子在你的瀏覽器控制檯:

var myStr = "\"Hello\""; 
myStr 

您應在控制檯中看到""Hello""。那將是stringify如何創建一個帶雙引號的字符串。

+0

+1,謝謝澄清。這有助於。 – 2014-09-24 04:15:01

相關問題