JSON传递bool类型数据的处理方式
2013-05-03 21:59
211 查看
ajax中使用json传递数据时,其它数据类型都不是问题,但是如果服务器端生成的JSON中有bool类型的数据时,到客户端解析时出现了小小的问题,总结如下:
服务器返回的JSON为:
其中属性:IsLink和IsPic都是bool类型,在客户端使用方法:
document.getElementById("checkbox1").checked = news.IsLink;会选中复选框,但是IsLInk为false,本不应该选中,为什么呢?
查其原因,javascript 有三种基本数据类型(字符串string、数值number、布尔boolean ),两种引用数据类型(对象Object、数组Array)和两种特殊数据类型(Null 、Undefined )。其它类型向bool类型转换时的有如下原则:
此时,IsLink在JSON中为字符串“false”,所以转换后得到bool类型true。
处理办法:
document.getElementById("checkbox1").checked = news.IsLink==“true";
服务器返回的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后的值 |
null | FALSE |
undefined | FALSE |
Object | TRUE |
function | TRUE |
0 | FALSE |
1 | TRUE |
0、1之外的数字 | TRUE |
字符串 | TRUE |
""(空字符串) | FALSE |
处理办法:
document.getElementById("checkbox1").checked = news.IsLink==“true";
相关文章推荐
- JSON 的数据类型 以及传递bool类型数据的处理方式
- JSON传递bool类型数据的处理方式介绍
- JSON传递bool类型数据的处理方式介绍
- 关于Android的assets资源使用,以及网络间的数据传递JSON格式处理
- mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler
- js 将json字符串转换为json对象的方法解析 作者: 字体:[增加 减小] 类型:转载 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而J
- cout输出各种类型数据时的处理方式
- editGrid提交json数据后两种jar包的处理方式net.sf.json.JSONObject与org.json.JSONObject
- jsoncpp 不能处理long类型数据
- mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler
- Jquery下Json数据的传递与解析(asp.net mvc与asp.net api下后台json接收方式的不同)
- Flex HttpService 方式与java交互(json数据类型)
- SpringMVC传递JSON数据的推荐方式
- Android接口传递Json数组的处理方式
- JSON有哪些数据类型?怎样处理,有哪些函数方法?
- Jquery下Json数据的传递与解析(asp.net mvc与asp.net api下后台json接收方式的不同)
- node如何接收ajax post方式传来的json类型数据
- Java中基本数据类型的存储方式和相关内存的处理方式
- c#处理json数据最好的方式