JSON傳遞bool類型數(shù)據(jù)的處理方式介紹
更新時間:2013年09月18日 17:46:23 作者:
如果服務(wù)器端生成的JSON中有bool類型的數(shù)據(jù)時,到客戶端解析時出現(xiàn)了小小的問題,下面簡單為大家介紹下正確的處理方式
ajax中使用json傳遞數(shù)據(jù)時,其它數(shù)據(jù)類型都不是問題,但是如果服務(wù)器端生成的JSON中有bool類型的數(shù)據(jù)時,到客戶端解析時出現(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;
會選中復(fù)選框,但是IsLInk為false,本不應(yīng)該選中,為什么呢?
查其原因,javascript 有三種基本數(shù)據(jù)類型(字符串string、數(shù)值number、布爾boolean ),兩種引用數(shù)據(jù)類型(對象Object、數(shù)組Array)和兩種特殊數(shù)據(jù)類型(Null 、Undefined )。其它類型向bool類型轉(zhuǎn)換時的有如下原則:
數(shù)據(jù)類型 轉(zhuǎn)換為bool后的值
null FALSE
undefined FALSE
Object TRUE
function TRUE
0 FALSE
1 TRUE
0、1之外的數(shù)字 TRUE
字符串 TRUE
""(空字符串) FALSE
此時,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;
會選中復(fù)選框,但是IsLInk為false,本不應(yīng)該選中,為什么呢?
查其原因,javascript 有三種基本數(shù)據(jù)類型(字符串string、數(shù)值number、布爾boolean ),兩種引用數(shù)據(jù)類型(對象Object、數(shù)組Array)和兩種特殊數(shù)據(jù)類型(Null 、Undefined )。其它類型向bool類型轉(zhuǎn)換時的有如下原則:
數(shù)據(jù)類型 轉(zhuǎn)換為bool后的值
null FALSE
undefined FALSE
Object TRUE
function TRUE
0 FALSE
1 TRUE
0、1之外的數(shù)字 TRUE
字符串 TRUE
""(空字符串) FALSE
此時,IsLink在JSON中為字符串“false”,所以轉(zhuǎn)換后得到bool類型true。
處理辦法:
復(fù)制代碼 代碼如下:
document.getElementById("checkbox1").checked = news.IsLink==“true";
您可能感興趣的文章:
- jQuery jqgrid 對含特殊字符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ù)的實例
- JSON復(fù)雜數(shù)據(jù)處理之Json樹形結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)Java對象并存儲到數(shù)據(jù)庫的實現(xiàn)
相關(guān)文章
JavaScript設(shè)計模式之性能優(yōu)化模式享元模式
這篇文章主要介紹了JavaScript設(shè)計模式之性能優(yōu)化模式享元模式,享元設(shè)計模式是用于性能優(yōu)化的模式,這種設(shè)計模式的核心在于可以共享技術(shù)并支持對大量細分過后的對象進行調(diào)整,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-06-06動態(tài)創(chuàng)建按鈕的JavaScript代碼
本文給大家分享一段JS實例代碼介紹動態(tài)創(chuàng)建按鈕的方法,需要的朋友參考下本文2016-01-01js中int和string數(shù)據(jù)類型互相轉(zhuǎn)化實例
在本篇文章里小編給大家分享了關(guān)于js中int和string數(shù)據(jù)類型互相轉(zhuǎn)化實例和代碼,需要的朋友們學(xué)習(xí)下。2019-01-01IE9+已經(jīng)不對document.createElement向下兼容的解決方法
這篇文章主要介紹了IE9+已經(jīng)不對document.createElement向下兼容的解決方法,需要的朋友可以參考下2015-09-09