JSON傳遞bool類(lèi)型數(shù)據(jù)的處理方式介紹
更新時(shí)間:2013年09月18日 17:46:23 作者:
如果服務(wù)器端生成的JSON中有bool類(lèi)型的數(shù)據(jù)時(shí),到客戶(hù)端解析時(shí)出現(xiàn)了小小的問(wèn)題,下面簡(jiǎn)單為大家介紹下正確的處理方式
ajax中使用json傳遞數(shù)據(jù)時(shí),其它數(shù)據(jù)類(lèi)型都不是問(wèn)題,但是如果服務(wù)器端生成的JSON中有bool類(lèi)型的數(shù)據(jù)時(shí),到客戶(hù)端解析時(shí)出現(xiàn)了小小的問(wèn)題,總結(jié)如下:
服務(wù)器返回的JSON為:
{"TypeID":[1037],"Title":"河北軟件職業(yè)技術(shù)學(xué)院","Intro":"","IsLink":"false","LinkUrl":"http://www.hbsi.edu.cn","IsPic":"true","Picture":"/newsimages/hbsi.jpg","Content":"<p><br></p>"}
其中屬性:IsLink和IsPic都是bool類(lèi)型,在客戶(hù)端使用方法:
document.getElementById("checkbox1").checked = news.IsLink;
會(huì)選中復(fù)選框,但是IsLInk為false,本不應(yīng)該選中,為什么呢?
查其原因,javascript 有三種基本數(shù)據(jù)類(lèi)型(字符串string、數(shù)值number、布爾boolean ),兩種引用數(shù)據(jù)類(lèi)型(對(duì)象Object、數(shù)組Array)和兩種特殊數(shù)據(jù)類(lèi)型(Null 、Undefined )。其它類(lèi)型向bool類(lèi)型轉(zhuǎn)換時(shí)的有如下原則:
數(shù)據(jù)類(lèi)型 轉(zhuǎn)換為bool后的值
null FALSE
undefined FALSE
Object TRUE
function TRUE
0 FALSE
1 TRUE
0、1之外的數(shù)字 TRUE
字符串 TRUE
""(空字符串) FALSE
此時(shí),IsLink在JSON中為字符串“false”,所以轉(zhuǎn)換后得到bool類(lèi)型true。
處理辦法:
document.getElementById("checkbox1").checked = news.IsLink==“true";
服務(wù)器返回的JSON為:
復(fù)制代碼 代碼如下:
{"TypeID":[1037],"Title":"河北軟件職業(yè)技術(shù)學(xué)院","Intro":"","IsLink":"false","LinkUrl":"http://www.hbsi.edu.cn","IsPic":"true","Picture":"/newsimages/hbsi.jpg","Content":"<p><br></p>"}
其中屬性:IsLink和IsPic都是bool類(lèi)型,在客戶(hù)端使用方法:
復(fù)制代碼 代碼如下:
document.getElementById("checkbox1").checked = news.IsLink;
會(huì)選中復(fù)選框,但是IsLInk為false,本不應(yīng)該選中,為什么呢?
查其原因,javascript 有三種基本數(shù)據(jù)類(lèi)型(字符串string、數(shù)值number、布爾boolean ),兩種引用數(shù)據(jù)類(lèi)型(對(duì)象Object、數(shù)組Array)和兩種特殊數(shù)據(jù)類(lèi)型(Null 、Undefined )。其它類(lèi)型向bool類(lèi)型轉(zhuǎn)換時(shí)的有如下原則:
數(shù)據(jù)類(lèi)型 轉(zhuǎn)換為bool后的值
null FALSE
undefined FALSE
Object TRUE
function TRUE
0 FALSE
1 TRUE
0、1之外的數(shù)字 TRUE
字符串 TRUE
""(空字符串) FALSE
此時(shí),IsLink在JSON中為字符串“false”,所以轉(zhuǎn)換后得到bool類(lèi)型true。
處理辦法:
復(fù)制代碼 代碼如下:
document.getElementById("checkbox1").checked = news.IsLink==“true";
您可能感興趣的文章:
- jQuery jqgrid 對(duì)含特殊字符json 數(shù)據(jù)的 Java 處理方法
- 詳談 Jquery Ajax異步處理Json數(shù)據(jù).
- json數(shù)據(jù)處理技巧(字段帶空格、增加字段、排序等等)
- jquery序列化form表單使用ajax提交后處理返回的json數(shù)據(jù)
- python處理json數(shù)據(jù)中的中文
- c#處理3種json數(shù)據(jù)的實(shí)例
- JSON復(fù)雜數(shù)據(jù)處理之Json樹(shù)形結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)Java對(duì)象并存儲(chǔ)到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
相關(guān)文章
JavaScript設(shè)計(jì)模式之性能優(yōu)化模式享元模式
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之性能優(yōu)化模式享元模式,享元設(shè)計(jì)模式是用于性能優(yōu)化的模式,這種設(shè)計(jì)模式的核心在于可以共享技術(shù)并支持對(duì)大量細(xì)分過(guò)后的對(duì)象進(jìn)行調(diào)整,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-06-06
動(dòng)態(tài)創(chuàng)建按鈕的JavaScript代碼
本文給大家分享一段JS實(shí)例代碼介紹動(dòng)態(tài)創(chuàng)建按鈕的方法,需要的朋友參考下本文2016-01-01
開(kāi)源一個(gè)微信小程序儀表盤(pán)組件過(guò)程解析
這篇文章主要介紹了開(kāi)源一個(gè)微信小程序儀表盤(pán)組件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
js中int和string數(shù)據(jù)類(lèi)型互相轉(zhuǎn)化實(shí)例
在本篇文章里小編給大家分享了關(guān)于js中int和string數(shù)據(jù)類(lèi)型互相轉(zhuǎn)化實(shí)例和代碼,需要的朋友們學(xué)習(xí)下。2019-01-01
IE9+已經(jīng)不對(duì)document.createElement向下兼容的解決方法
這篇文章主要介紹了IE9+已經(jīng)不對(duì)document.createElement向下兼容的解決方法,需要的朋友可以參考下2015-09-09

