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 相关文章推荐
window.location.hash 属性使用说明
Mar 20 Javascript
DOM Scripting中的图片切换[兼容Firefox]
Jun 12 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
Jun 28 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
Aug 26 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
Sep 14 Javascript
自己编写的类似JS的trim方法
Oct 09 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
Oct 25 Javascript
基于javascript实现全屏漂浮广告
Mar 31 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
Jan 17 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
Dec 01 Javascript
使用proxy实现一个更优雅的vue【推荐】
Jun 19 Javascript
jQuery AJAX与jQuery事件的分析讲解
Feb 18 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
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
php+highchats生成动态统计图
2014/05/21 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
PHP处理会话函数大总结
2015/08/05 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
sublime text配置node.js调试(图文教程)
2017/11/23 Javascript
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
Python实现简单HTML表格解析的方法
2015/06/15 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
django站点管理详解
2017/12/12 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
详解python-图像处理(映射变换)
2019/03/22 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
美国创意之家:BulbHead
2017/07/12 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
网上祭英烈活动总结
2015/02/04 职场文书
人力资源部岗位职责
2015/02/11 职场文书
项目备案申请报告
2015/05/15 职场文书
杨善洲观后感
2015/06/04 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
python操作xlsx格式文件并读取
2021/06/02 Python