zoukankan      html  css  js  c++  java
  • JSON 的数据类型 以及传递bool类型数据的处理方式

    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";   
  • 相关阅读:
    解读:MultipleOutputs类
    hadoop2对应的eclipse插件使用
    MR案例:外连接代码实现
    Navicat for MySQL下载、安装与破解
    MySQL数据库安装与配置详解
    堡垒机2
    堡垒机
    MySQL主键和外键使用及说明
    待续--mysql中key 、primary key 、unique key 与index区别
    ORM框架SQLAlchemy使用学习
  • 原文地址:https://www.cnblogs.com/yemaxu/p/4453090.html
Copyright © 2011-2022 走看看