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 相关文章推荐
Mootools 1.2教程 滚动条(Slider)
Sep 15 Javascript
javascript 保存文件到本地实现方法
Nov 29 Javascript
JS获取地址栏参数的几种方法小结
Feb 28 Javascript
JS实现闪动的title消息提醒效果
Jun 20 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
Oct 24 Javascript
react中的ajax封装实例详解
Oct 17 Javascript
js设置随机切换背景图片的简单实例
Nov 12 Javascript
基于JavaScript实现表格滚动分页
Nov 22 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
Oct 25 Javascript
微信小程序全选多选效果实现代码解析
Jan 21 Javascript
vue递归实现树形组件
Jul 15 Vue.js
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
php自动适应范围的分页代码
2008/08/05 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
IE php关于强制下载文件的代码
2008/08/23 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
Python处理字符串之isspace()方法的使用
2015/05/19 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
银行求职自荐信
2014/06/30 职场文书
教师岗位说明书
2015/09/30 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript