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 相关文章推荐
HTML 自动伸缩的表格Table js实现
Apr 01 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
May 23 Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
javascript操作css属性
Dec 30 Javascript
Ajax和Comet技术总结
Feb 19 Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 Javascript
javascript实现日期三级联动下拉框选择菜单
Dec 03 Javascript
vue 项目地址去掉 #的方法
Oct 20 Javascript
3分钟读懂移动端rem使用方法(推荐)
May 06 Javascript
jquery实现上传文件进度条
Mar 26 jQuery
vue实现商品列表的添加删除实例讲解
May 14 Javascript
javascript函数式编程基础
Sep 15 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 ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
2014过年倒计时示例
2014/01/31 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
jquery 图片上传按比例预览插件集合
2011/05/28 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
python 循环数据赋值实例
2019/12/02 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
python音频处理的示例详解
2020/12/23 Python
自我鉴定三原则
2014/01/13 职场文书
销售团队口号大全
2014/06/06 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
小学优秀班主任材料
2014/12/17 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android