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 相关文章推荐
JavaScript Event学习第十一章 按键的检测
Feb 10 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
Jan 04 Javascript
jquery控制select的text/value值为选中状态
Jun 03 Javascript
原生js实现简单的Ripple按钮实例代码
Mar 24 Javascript
详解微信小程序设置底部导航栏目方法
Jun 29 Javascript
Angular2监听页面大小变化的解决方法
Oct 09 Javascript
解决Linux无法正常安装与卸载Node.js的方法
Jan 19 Javascript
小程序云开发实战小结
Oct 25 Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 Javascript
微信小程序去除左上角返回键的实现方法
Mar 06 Javascript
浅谈webpack构建工具配置和常用插件总结
May 11 Javascript
js实现3D旋转效果
Aug 18 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 网页过期时间的控制代码
2009/06/29 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
详解PHP队列的实现
2019/03/14 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
js常见表单应用技巧
2008/01/09 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
koa源码中promise的解读
2018/11/13 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
Python SQLite3数据库操作类分享
2014/06/10 Python
python中使用enumerate函数遍历元素实例
2014/06/16 Python
Python 的 Socket 编程
2015/03/24 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
Django中的Model操作表的实现
2018/07/24 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
python绘制热力图heatmap
2020/03/23 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
销售人员工作自我评价
2014/09/21 职场文书
学生检讨书怎么写
2014/10/09 职场文书
运动员代表致辞
2015/07/29 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
pandas数值排序的实现实例
2021/07/25 Python
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers