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


Posted in Javascript onSeptember 18, 2013

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后的值
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";
Javascript 相关文章推荐
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
Feb 14 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
Dec 19 Javascript
js插件YprogressBar实现漂亮的进度条效果
Apr 20 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
自己封装的一个简单的倒计时功能实例
Nov 23 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
js实现动态显示时间效果
Mar 06 Javascript
JS使用tofixed与round处理数据四舍五入的区别
Oct 25 Javascript
BootStrap TreeView使用实例详解
Nov 01 Javascript
Webpack实战加载SVG的方法
Dec 26 Javascript
关于express与koa的使用对比详解
Jan 25 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
Sep 18 #Javascript
jquery 实现密码框的显示与隐藏示例代码
Sep 18 #Javascript
script不刷新页面的联动前后代码
Sep 18 #Javascript
js 中的switch表达式使用示例
Jun 03 #Javascript
javascript实现促销倒计时+fixed固定在底部
Sep 18 #Javascript
jquery等宽输出文字插件使用介绍
Sep 18 #Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
Sep 18 #Javascript
You might like
php中用foreach来操作数组的代码
2011/07/17 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
2020/03/03 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
javascript 隔行换色函数代码
2010/10/24 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
Python中的__slots__示例详解
2017/07/06 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
英国鞋网:Rubber Sole
2020/03/03 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
大二学期个人自我评价
2014/01/13 职场文书
会议活动邀请函
2014/01/27 职场文书
政治表现评语
2014/05/04 职场文书
参赛口号
2014/06/16 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
2015年教研组工作总结
2015/05/04 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
爱国电影观后感
2015/06/19 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
MySQL中varchar和char类型的区别
2021/11/17 MySQL