作為一個前端頁面開發者第一次處理json數據,遇到了‘js 獲取json數組裡面數組的長度’?竟然不知道 json沒有.length屬性(真是要嘲諷下自己),少壯不努力老大徒傷悲啊! ...
作為一個前端頁面開發者第一次處理json數據,遇到了‘js 獲取json數組裡面數組的長度’?竟然不知道 json沒有.length屬性(真是要嘲諷下自己),少壯不努力老大徒傷悲啊!以前都是去尋求男朋友幫助,但是最近嘗試自己去解決遇到的問題。
我遇到的問題是這樣的:***.jsp結尾的頁面裡面,後端傳給我的json數據是一個數組,然後要獲取第二個數組contacts裡面的數組長度,然後百度發現 json沒有.length屬性。怎麼辦呢?
既然json對象沒有length屬性,如果要知道他的長度怎麼辦呢
var jslength=0; for(var js2 in json){ jslength++; }
把這段代碼寫成一個方法,以後調用就行了:
function getJsonLength(jsonData){ var jsonLength = 0; for(var item in jsonData){ jsonLength++; } return jsonLength; }
但是上面的方法只能獲取到第一層數組的長度???獲取不到子數組裡面的數組長度???然後自我發揮了下,用下麵方法成功獲取到contacts數組的長度。
var _data = ${contactJson}; function getJsonLength(jsonData){ var jsonLength = 0; for(var item in jsonData){ if(item == 'contacts'){ for(var x in jsonData[item]){ jsonLength++; } } } return jsonLength; } var _contact_num = getJsonLength(_data); $('#contactNum').text(_contact_num);
最後調出的結果: