json陣列有長度json.abc.length,如果單純是json格式,那麼不能直接使用json.length方式獲取長度,而應該使用其他方法。
最近在修改乙個html頁面的js的時候遍歷json物件,卻怎麼也除錯不通過。怪這個html網頁不知道用了什麼方法禁止了js錯誤提示,剛開始的時候不知道有這個問題,用chrome的開發人員工具都沒發現錯誤,就是在獲取 json.length的時候總是undefined,所以就以為自己定義的json方法不對。折騰了乙個晚上一點進展都沒有,頭都整暈了,太晚,最後失望地洗洗睡了。
第二天晚上就是不甘心這個小問題能難倒我,於是靜下心來仔細查原因。自己新建乙個空的html檔案在其中測試,發現json物件根本沒有length屬性,在搜尋引擎查詢也沒有比較權威的參考文件提到json有這個屬性。部落格也很少有提到 json.length 的。但是奇怪的是我明明記得json有length,我還用過,程式沒錯,正確執行。
那是怎麼回事呢?最後看某部落格一篇文章的時候回想起以前程式設計的細節,記得以前的json的子物件是個陣列而這次的不是,這下終於恍然大悟了。
以前我使用json的這樣的結構:
var json1=,]};遍歷的方法是:
for(var i=0;i這裡的json1.abc是乙個陣列,陣列是由2個子json組成的,陣列是有length屬性的,所以說能工作。而json本身沒有length屬性,所以用length屬性自然會出錯:而我這一次的json是這樣的:
var json2=;
for(var i=0;i那麼要遍歷這樣的json怎麼辦呢?這樣做:既然json沒有length屬性,如果要知道他的長度怎麼辦呢?很簡單,把上面的遍歷改一下就是了:for(var js2 in json2)
var jslength=0;把這段**寫成乙個方法,以後呼叫就行了:for(var js2 in json2)
function getjsonlength(jsondata)學習計算機程式設計技術一定要嚴謹認真,容不得半點馬虎,學習最重要是把基礎打牢,囫圇吞棗、不求甚解會給工作和學習帶來很多隱患,效率上必須打折扣。留下來以自勉!return jsonlength;
}
JSON物件長度和遍歷方法
a a 前端部落格 2014 09 02 前端開發 jquery json 2234view 0 json 陣列有長度json.abc.length,如果單純是json格式,那麼不能直接使用json.length方式獲取長度,而應該使用其他方法。最近在修改乙個html 頁面的js 的時候遍歷json...
JSON物件長度和遍歷方法
json 陣列有長度json abc.length,如果單純是json格式,那麼不能直接使用json.length方式獲取長度,而應該使用其他方法。最近在修改乙個html 頁面的js 的時候遍歷json物件,卻怎麼也除錯不通過。怪這個html網頁不知道用了什麼方法禁止了js 錯誤提示,剛開始的時候不...
遍歷json資料的n種方法
下面介紹下四種解析json的方式 part 1 var list1 1,3,4 alert list1 1 var list2 alert list2 0 xing alert list2 0 xing part 2 var value shanghai chengdu america bb spa...