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网络游戏-(模拟城市webgame)提供的一些例子下载
Oct 14 Javascript
JQuery上传插件Uploadify使用详解及错误处理
Apr 27 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 Javascript
jquery实现简单的无缝滚动
Apr 15 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
May 16 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
Sep 28 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 Javascript
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 Javascript
JS实现动态无缝轮播
Jan 11 Javascript
JavaScript实现放大镜效果代码示例
Apr 29 Javascript
vue+Element-ui前端实现分页效果
Nov 15 Javascript
如何在Vue项目中添加接口监听遮罩
Jan 25 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
php中全局变量global的使用演示代码
2011/05/18 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
jQuery 表单验证扩展(四)
2010/10/20 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
轮播的简单实现方法
2016/07/28 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
用Python 执行cmd命令
2020/12/18 Python
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
标准导师推荐信(医学类)
2013/10/28 职场文书
化工机械应届生求职信
2013/11/04 职场文书
职业教育毕业生求职信
2013/11/09 职场文书
经管应届生求职信
2013/11/17 职场文书
股东协议书范本
2014/04/14 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
利用python进行数据加载
2021/06/20 Python