JSON 長度 遍歷的問題 以及常見毛病

2021-07-25 15:33:57 字數 1265 閱讀 8173

a-

a+前端部落格

•前端開發**

•jquery | json

• 29066view

3 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是這樣的:

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單節點問題

問題描述 1.將xml報文轉換成json物件來獲取節點值 import xmltodict json xmltodict.parse xml 我們需要遍歷json中的couponinfo節點,但是,當couponinfo是單個而非多個的時候,用for couponinfo in json coupo...