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编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
JQuery弹出层示例可自定义
May 19 Javascript
jQuery的基本概念与高级编程
May 14 Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 Javascript
js实现图片上传预览原理分析
Jul 13 Javascript
jQuery替换节点元素的操作方法
Mar 18 jQuery
js实现input密码框显示/隐藏功能
Sep 10 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 30 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
Apr 30 Javascript
浅谈Vue使用Elementui修改默认的最快方法
Dec 05 Vue.js
JavaScript/TypeScript 实现并发请求控制的示例代码
Jan 18 Javascript
JavaScript中reduce()的用法
May 11 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时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
小程序绑定用户方案优化小结
2019/05/15 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
python dict.get()和dict['key']的区别详解
2016/06/30 Python
python装饰器初探(推荐)
2016/07/21 Python
Python中动态创建类实例的方法
2017/03/24 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
Calphalon美国官网:美国顶级锅具品牌
2020/02/05 全球购物
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
市场营销专业求职信
2014/06/17 职场文书
主题党日活动总结
2014/07/08 职场文书
法定代表人资格证明书
2014/09/11 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
自我推荐信怎么写
2015/03/24 职场文书