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实现盒子下拉效果示例代码
Sep 12 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
Sep 23 Javascript
javascript使用 concat 方法对数组进行合并的方法
Sep 08 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
zTree树形插件异步加载方法详解
Jun 14 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
Mar 05 Javascript
Vue插槽原理与用法详解
Mar 05 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 Javascript
微信小程序实现左侧滑栏过程解析
Aug 26 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
Nov 11 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
Apr 09 Javascript
字节飞书面试promise.all实现示例
Jun 16 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
php empty函数判断mysql表单是否为空
2010/04/12 PHP
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
php适配器模式简单应用示例
2019/10/23 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
Python requests发送post请求的一些疑点
2018/05/20 Python
不管你的Python报什么错,用这个模块就能正常运行
2018/09/14 Python
python使用if语句实现一个猜拳游戏详解
2019/08/27 Python
pygame实现飞机大战
2020/03/11 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
关于Keras Dense层整理
2020/05/21 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
CSS3实现多背景模拟动态边框的效果
2016/11/08 HTML / CSS
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
高中军训感想300字
2014/03/04 职场文书
个人贷款承诺书
2014/03/28 职场文书
社会公德演讲稿
2014/05/20 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
新党员入党决心书
2015/09/22 职场文书