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 ready(fn)事件使用介绍
Aug 21 Javascript
jquery与prototype框架的详细对比
Nov 21 Javascript
js保留小数点后几位的写法
Jan 03 Javascript
微信中一些常用的js方法汇总
Mar 12 Javascript
JavaScript  event对象整理及详细介绍
Oct 10 Javascript
headjs实现网站并行加载但顺序执行JS
Nov 29 Javascript
详解vue.js2.0父组件点击触发子组件方法
May 10 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
May 17 Javascript
详解redux异步操作实践
Aug 15 Javascript
vue中@change兼容问题详解
Oct 25 Javascript
Vue数字输入框组件示例代码详解
Jan 15 Javascript
jquery实现简易验证插件封装
Sep 13 jQuery
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
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
桌面中心(二)数据库写入
2006/10/09 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
解密效果
2006/06/23 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
js选项卡的制作方法
2017/01/23 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
vue、react等单页面项目应该这样子部署到服务器
2018/01/03 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
Python制作刷网页流量工具
2017/04/23 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
pytorch标签转onehot形式实例
2020/01/02 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
4s客服专员岗位职责
2013/12/01 职场文书
财务经理的岗位职责
2013/12/17 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
师德师风的心得体会
2014/09/02 职场文书
大学生简短的自我评价
2014/09/12 职场文书
学生会任命书范本
2015/09/21 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
基于Python实现将列表数据生成折线图
2022/03/23 Python
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技