您的位置:首页 > Web前端 > JavaScript

JSON传递bool类型数据的处理方式

2013-05-03 21:59 211 查看
ajax中使用json传递数据时,其它数据类型都不是问题,但是如果服务器端生成的JSON中有bool类型的数据时,到客户端解析时出现了小小的问题,总结如下:

服务器返回的JSON为:

{"TypeID":[1037],"Title":"河北软件职业技术学院","Intro":"","IsLink":"false","LinkUrl":"http://www.hbsi.edu.cn","IsPic"
:"true","Picture":"/newsimages/hbsi.jpg","Content":"<p><br></p>"}


其中属性:IsLink和IsPic都是bool类型,在客户端使用方法:

document.getElementById("checkbox1").checked = news.IsLink;会选中复选框,但是IsLInk为false,本不应该选中,为什么呢?

查其原因,javascript 有三种基本数据类型(字符串string、数值number、布尔boolean ),两种引用数据类型(对象Object、数组Array)和两种特殊数据类型(Null 、Undefined )。其它类型向bool类型转换时的有如下原则:


数据类型转换为bool后的值
nullFALSE
undefinedFALSE
ObjectTRUE
functionTRUE
0FALSE
1TRUE
0、1之外的数字TRUE
字符串TRUE
""(空字符串)FALSE
此时,IsLink在JSON中为字符串“false”,所以转换后得到bool类型true。

处理办法:

document.getElementById("checkbox1").checked = news.IsLink==“true";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: