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 相关文章推荐
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
Javascript面向对象之四 继承
Feb 08 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
Mar 25 Javascript
jQuery中is()方法用法实例
Jan 06 Javascript
JS解析XML文件和XML字符串详解
Apr 17 Javascript
javascript+css3 实现动态按钮菜单特效
Feb 06 Javascript
浅析jquery与checkbox的checked属性的问题
Apr 27 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
May 23 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
vue router使用query和params传参的使用和区别
Nov 13 Javascript
详解weex默认webpack.config.js改造
Jan 08 Javascript
vue实现百度下拉列表交互操作示例
Mar 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
关于页面优化和伪静态
2009/10/11 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
2015/01/22 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
Django之模板层的实现代码
2019/09/09 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
小学教师的自我评价范例
2013/10/31 职场文书
大学生自我鉴定书
2014/03/24 职场文书
护士节活动总结
2014/08/29 职场文书
罚款通知怎么写
2015/04/22 职场文书
感恩老师主题班会
2015/08/12 职场文书
关于五一放假的通知
2015/08/18 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
详解MySQL中的pid与socket
2021/06/15 MySQL
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers