服务器返回的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 FALSE
1 TRUE
0、1之外的数字 TRUE
字符串 TRUE
""(空字符串) FALSE
此时,Islink在JSON中为字符串“false”,所以转换后得到bool类型true。
处理办法:
复制代码 代码如下:
document.getElementById("checkbox1").checked = news.Islink==“true";



