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 相关文章推荐
json2.js的初步学习与了解
Oct 06 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
angularjs基础教程
Dec 25 Javascript
JavaScript中的立即执行函数表达式介绍
Mar 15 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
Sep 26 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
Nov 25 Javascript
AngularJS开发教程之控制器之间的通信方法分析
Dec 25 Javascript
vue实现全选、反选功能
Nov 17 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
Oct 24 Javascript
layui使用数据表格实现购物车功能
Jul 26 Javascript
Element Popover 弹出框的使用示例
Jul 26 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批量生成随机用户名
2008/07/10 PHP
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
这段js代码得节约你多少时间
2011/12/20 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
javascript实现连续赋值
2015/08/10 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
React快速入门教程
2017/01/17 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
python调用shell的方法
2013/11/20 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
简短证婚人证婚词
2014/01/09 职场文书
单位人事专员介绍信
2014/01/11 职场文书
倡议书范文
2014/04/16 职场文书
金融事务专业求职信
2014/04/25 职场文书
小学生倡议书范文
2014/05/13 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
学校施工安全责任书
2015/01/29 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL
微信小程序实现轮播图指示器
2022/06/25 Javascript