ajax中使用json傳遞資料時,其它資料型別都不是問題,但是如果伺服器端產生的JSON中有bool型別的資料時,到客戶端解析時出現了小小的問題,總結如下: 伺服器回傳的JSON為: 複製程式碼 程式碼如下: {"TypeID" [1037],"Title":"河北軟體職業技術學院","Intro":"","IsLink":"false","LinkUrl":"http://www.hbsi.edu.cn"," IsPic":"true","Picture":"/newsimages/hbsi.jpg","Content":""} 其中屬性:IsLink和IsPic都是bool類型,在客戶端使用方法: 複製代碼 代碼如下: document.getElementById("checkbox1").checked = news.IsLink; 會選中復選框,但是IsLInk為false,本不應該選中,為什麼呢? 查其原因,javascript 有三種基本資料型別(字串string、數值number、布林boolean ),兩種引用資料型態(物件Object、陣列Array)和兩種特殊資料型態(Null 、Undefined )。其它型別轉換為bool型別時的有下列原則: 資料型別轉換為bool後的值null FALSE undefined FALSE Object TRUE function TRUE 0 0 0 FALSE 1 TRUE 0、1以外的數字TRUE 字串TRUE ""(空字串) FALSE 此時,IsLink在JSON中為字串“false”,所以轉換後得到bool型true。 處理方法: 複製程式碼 程式碼如下: 程式碼如下: B. ("checkbox1").checked = news.IsLink==“true";