當一個面試官問你: JSON都支援什麼對象/類型?你怎麼回答?
也許他的本意是下面這個答案:
JSON格式支援的資料類型有以下:
類型
描述
Number
在JavaScript中的雙精度浮點格式
String
雙引号的反斜杠轉義的Unicode
Boolean
true 或 false
Array
值的有序序列
Value
它可以是一個字元串,一個數字,真的還是假(true/false),空(null )等
Object
無序集合鍵值對
Whitespace
可以使用任何一對中的令牌
null
empty
但我還真不這麼認為,我認為支援任意對象類型,隻要是接收容器裡面存在的就可以。
可以使用下面的示例來證明:
simple.json檔案内容:
注意上面代碼裡面的 dataType : "text"
因為Jquery源碼裡面是用下面的方式轉換的,我們需要更加原始的方式,是以我替換成了自定義的strToJson(str)
Jquery源碼:
其實JSON就是字元串,需要前端進行eval轉換,是以不能簡單的說json支援什麼對象,或者支援什麼資料類型。
注意提問方式,需要更加嚴謹提出我們想要提問的問題。