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打造数组转json函数
Jan 14 Javascript
js限制文本框只能输入中文的方法
Aug 11 Javascript
深入理解Java线程编程中的阻塞队列容器
Dec 07 Javascript
Node.js 条形码识别程序构建思路详解
Feb 14 Javascript
一个简单不报错的summernote 图片上传案例
Jul 11 Javascript
jQuery购物网页经典制作案例
Aug 19 Javascript
在线引用最新jquery文件的实现方法
Aug 26 Javascript
js导出excel文件的简洁方法(推荐)
Nov 02 Javascript
jQuery基本筛选选择器实例代码
Feb 06 Javascript
canvas红包照片实例分享
Feb 28 Javascript
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 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无法实现多线程的问题
2015/09/25 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
PHP加密技术的简单实现
2016/09/04 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
Vue.js在数组中插入重复数据的实现代码
2017/11/17 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
2018/05/23 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
python 循环while和for in简单实例
2016/08/16 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
python绘制玫瑰的实现代码
2020/03/02 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
Android面试宝典
2013/08/06 面试题
单位门卫岗位职责
2013/12/20 职场文书
交通事故委托书范本
2014/09/28 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
python爬虫--selenium模块
2021/03/31 Python
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers