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的$.event.fix函数统一浏览器event事件处理
Dec 21 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
Jun 14 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 Javascript
jquery实现定时自动轮播特效
Dec 10 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
Nov 09 Javascript
js实现导航吸顶效果
Feb 24 Javascript
JavaScript 完成注册页面表单校验的实例
Aug 19 Javascript
JavaScript使用math.js进行精确计算操作示例
Jun 19 Javascript
微信小程序实现简单表格
Feb 14 Javascript
vue-cli webpack配置文件分析
May 20 Javascript
JavaScript中var的重要性实例分析
Jul 09 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
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
jquery序列化表单去除指定元素示例代码
2014/04/10 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
python自动重试第三方包retrying模块的方法
2018/04/24 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
2019/08/23 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
python模拟斗地主发牌
2020/04/22 Python
python小白切忌乱用表达式
2020/05/29 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
中学实习教师自我鉴定
2013/12/12 职场文书
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
个人租房协议书
2014/04/09 职场文书
运动员口号
2014/06/09 职场文书
个人授权委托书格式
2014/08/30 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
少先队工作总结2015
2015/05/13 职场文书
HTML中的表格元素介绍
2022/02/28 HTML / CSS
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL