ajax中使用json传递数据时,其它数据类型都不是问题,可是若是服务器端生成的JSON中有bool类型的数据时,到客户端解析时出现了小小的问题,总结以下:
服务器返回的JSON为: javascript
其中属性:IsLink和IsPic都是bool类型,在客户端使用方法: java
会选中复选框,可是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。
处理办法: ajax