JSON傳遞bool類型數(shù)據(jù)的處理方式介紹
更新時(shí)間:2013年09月18日 17:46:23 作者:
如果服務(wù)器端生成的JSON中有bool類型的數(shù)據(jù)時(shí),到客戶端解析時(shí)出現(xiàn)了小小的問題,下面簡(jiǎn)單為大家介紹下正確的處理方式
ajax中使用json傳遞數(shù)據(jù)時(shí),其它數(shù)據(jù)類型都不是問題,但是如果服務(wù)器端生成的JSON中有bool類型的數(shù)據(jù)時(shí),到客戶端解析時(shí)出現(xià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類型,在客戶端使用方法:
document.getElementById("checkbox1").checked = news.IsLink;
會(huì)選中復(fù)選框,但是IsLInk為false,本不應(yīng)該選中,為什么呢?
查其原因,javascript 有三種基本數(shù)據(jù)類型(字符串string、數(shù)值number、布爾boolean ),兩種引用數(shù)據(jù)類型(對(duì)象Object、數(shù)組Array)和兩種特殊數(shù)據(jù)類型(Null 、Undefined )。其它類型向bool類型轉(zhuǎn)換時(shí)的有如下原則:
數(shù)據(jù)類型 轉(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類型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類型,在客戶端使用方法:
復(fù)制代碼 代碼如下:
document.getElementById("checkbox1").checked = news.IsLink;
會(huì)選中復(fù)選框,但是IsLInk為false,本不應(yīng)該選中,為什么呢?
查其原因,javascript 有三種基本數(shù)據(jù)類型(字符串string、數(shù)值number、布爾boolean ),兩種引用數(shù)據(jù)類型(對(duì)象Object、數(shù)組Array)和兩種特殊數(shù)據(jù)類型(Null 、Undefined )。其它類型向bool類型轉(zhuǎn)換時(shí)的有如下原則:
數(shù)據(jù)類型 轉(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類型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樹形結(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ì)分過后的對(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-01js中int和string數(shù)據(jù)類型互相轉(zhuǎn)化實(shí)例
在本篇文章里小編給大家分享了關(guān)于js中int和string數(shù)據(jù)類型互相轉(zhuǎn)化實(shí)例和代碼,需要的朋友們學(xué)習(xí)下。2019-01-01IE9+已經(jīng)不對(duì)document.createElement向下兼容的解決方法
這篇文章主要介紹了IE9+已經(jīng)不對(duì)document.createElement向下兼容的解決方法,需要的朋友可以參考下2015-09-09