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=,]};遍歷的方法是:
//code from這裡的json1.abc是乙個陣列,陣列是由2個子json組成的,陣列是有length屬性的,所以說能工作。for(var i=0;i
而我這一次的json是這樣的:
var json2=;而json本身沒有length屬性,所以用length屬性自然會出錯:
for(var i=0;i那麼要遍歷這樣的json怎麼辦呢?這樣做:
for(var js2 in json2)既然json沒有length屬性,如果要知道他的長度怎麼辦呢?很簡單,把上面的遍歷改一下就是了:
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物件的遍歷
json 有兩種結構 1 物件 jsonobject 屬性 值 得集合。var json for var obj in json 2 陣列 jsonarray 由值組成的有序列表。var json jack mike tom 20,true for var i 0 i json.length i 復...