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 相关文章推荐
JS的反射问题
Apr 07 Javascript
各情景下元素宽高的获取实现代码
Sep 13 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
Feb 03 Javascript
JS 去前后空格大全(IE9亲测)
Jul 15 Javascript
javascript的push使用指南
Dec 05 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
Jun 19 Javascript
学习JavaScript设计模式(接口)
Nov 26 Javascript
第一次接触JS require.js模块化工具
Apr 17 Javascript
js省市县三级联动效果实例
Apr 15 Javascript
微信小程序图表插件(wx-charts)实例代码
Jan 17 Javascript
react-redux中connect的装饰器用法@connect详解
Jan 13 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
Sep 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
两个Javascript小tip资料
2010/11/23 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
Node.js编码规范
2014/07/14 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Python实现TCP通信的示例代码
2019/09/09 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
法律专业应届生自荐信范文
2014/01/06 职场文书
2013年学期结束动员演讲稿
2014/01/07 职场文书
应届生求职信范文
2014/05/26 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
孝女彩金观后感
2015/06/10 职场文书
Python正则表达式中flags参数的实例详解
2022/04/01 Python