JSON遍歷方式實(shí)例總結(jié)
本文實(shí)例總結(jié)了JSON遍歷方式。分享給大家供大家參考,具體如下:
第一種:使用for循環(huán)
js代碼:
function CyclingJson1() {
var testJson = '[{ "name": "小強(qiáng)", "age": 16 },{"name":"小明","age":17}]';
testJson = eval("(" + testJson + ")");
for (var i = 0; i < testJson.length; i++) {
alert(testJson[i].name);
}
}
第二種:使用關(guān)鍵字in
js代碼:
function CyclingJson2() {
var testJson = '[{ "name": "小強(qiáng)", "age": 16 },{"name":"小明","age":17}]';
testJson = eval("(" + testJson + ")");
for (var i in testJson) {
alert(testJson[i].name);
}
}
第三種;使用jquery.each()函數(shù)
function CyclingJson3() {
var testJson = '[{ "name": "小強(qiáng)", "age": 16 },{"name":"小明","age":17}]';
testJson = eval("(" + testJson + ")");
$.each(testJson, function (i, n) {
alert(i); //i為索引值
alert(n.name); //n為遍歷的值
});
}
綜合實(shí)例:
<script language="javascript" type="text/javascript">
var array = { "a": "abc", "b": [1, 2, 3, 4, 5, 6], "c": 3, "d": { "name": "james", "age": 28},"e":null,"f":true };
var arrayObj = { "a": { "name": "kobe", "age": 34 }, "b": { "name": "lofo", "age": 28} };
//遍歷array方式1
for (var x in array) {
if (typeof array[x] == 'object' && array[x] != null ) {
for (var y in array[x]) {
alert("key = " + y + " value = " + array[x][y]);
}
} else {
alert("key = " + x + " value = " + array[x]); // 非array object
}
}
//遍歷array方式2
$.each(array, function(k, v) {
var a = typeof (v);
//數(shù)組與對(duì)象為object類型,其他分別是string與number類型
//此時(shí)的k代表a、b、c、d,v代表對(duì)應(yīng)的值
if (typeof (v) == "object") {
//獲取數(shù)組與對(duì)象后,再去遍歷這個(gè)數(shù)組與對(duì)象
$.each(v, function(k1, v1) {
window.alert("key = " + k1 + " value=" + v1);
});
} else {
window.alert("key = " + k + " value=" + v);
}
});
//遍歷arrayObj方式1
for (var x in arrayObj) {
for (var key in arrayObj[x]) {
window.alert("key=" + key + " value=" + arrayObj[x][key]);
}
}
//遍歷arrayObj方式2
$.each(arrayObj, function(key, value) {
$.each(value, function(k, v) {
window.alert("key=" + k + " value=" + v);
});
});
//遍歷arrayObj方式3
$.each(arrayObj, function(key, value) {
window.alert("key=" + key + " valueName=" + value.name + " valueAge=" + value.age);
});
</script>
<script language="javascript" type="text/javascript">
var UserList = [
{ "UserID": 11, "Name": { "FirstName": "Truly", "LastName": "Zhu" }, "Email": "" },
{ "UserID": 12, "Name": { "FirstName": "Jeffrey", "LastName": "Richter" }, "Email": "" },
{ "UserID": 13, "Name": { "FirstName": "Scott", "LastName": "Gu" }, "Email": "" }
]
$.each(UserList, function(k, v) {
$.each(v, function(k1, v1) {
if (typeof (v1) == "object") {
$.each(v1, function(k2, v2) {
window.alert("key=" + k2 + " value=" + v2);
});
} else {
window.alert("key=" + k1 + " value=" + v1);
}
});
});
</script>
<script language="javascript" type="text/javascript">
var userArray = [
{ "UserID": 11, "Name": { "FirstName": "Truly", "LastName": "Zhu" }, "Email": "" },
{ "UserID": 12, "Name": { "FirstName": "Jeffrey", "LastName": "Richter" }, "Email": "" },
{ "UserID": 13, "Name": { "FirstName": "Scott", "LastName": "Gu" }, "Email": "" }
];
for (var i in userArray) {
for (var k in userArray[i]) {
if (typeof userArray[i][k] == "object" && userArray[i][k] != null) {
for (var j in userArray[i][k]) {
window.alert("key=" + j + "--value=" + userArray[i][k][j]);
}
} else {
window.alert("key=" + k + "--value=" + userArray[i][k]);
}
}
}
</script>
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- javascript先序遍歷DOM樹的方法
- Node.js本地文件操作之文件拷貝與目錄遍歷的方法
- JS遍歷數(shù)組及打印數(shù)組實(shí)例分析
- js實(shí)現(xiàn)遍歷含有input的table實(shí)例
- javascript for-in有序遍歷json數(shù)據(jù)并探討各個(gè)瀏覽器差異
- 詳解javascript遍歷方式
- JavaScript中利用各種循環(huán)進(jìn)行遍歷的方式總結(jié)
- JavaScript簡(jiǎn)單遍歷DOM對(duì)象所有屬性的實(shí)現(xiàn)方法
- javascript實(shí)現(xiàn)網(wǎng)頁子頁面遍歷回調(diào)的方法(涉及 window.frames、遞歸函數(shù)、函數(shù)上下文)
- JavaScript中循環(huán)遍歷Array與Map的方法小結(jié)
相關(guān)文章
JavaScript反轉(zhuǎn)數(shù)組常用的4種方法
這篇文章主要給大家介紹了關(guān)于JavaScript反轉(zhuǎn)數(shù)組常用的4種方法,反轉(zhuǎn)數(shù)組可以將數(shù)組中的元素順序顛倒過來,從而達(dá)到一些特定的需求,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
前端存儲(chǔ)后端響應(yīng)數(shù)據(jù)超詳細(xì)的實(shí)現(xiàn)方式和注意事項(xiàng)
前端通過多種方式向后端獲取數(shù)據(jù),下面這篇文章主要介紹了前端存儲(chǔ)后端響應(yīng)數(shù)據(jù)超詳細(xì)的實(shí)現(xiàn)方式和注意事項(xiàng),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
小程序與內(nèi)嵌webview的數(shù)據(jù)交互方案詳解
這篇文章主要介紹了小程序與內(nèi)嵌webview的數(shù)據(jù)交互方案,為實(shí)現(xiàn)H5頁面到小程序的無縫切換,技術(shù)方案包含使用webview交互,特別是低碼C端表單頁面的處理,需要的朋友可以參考下2024-09-09
JavaScript Event事件學(xué)習(xí)第一章 Event介紹
Events是每一個(gè)JavaScript程序核心。什么是事件處理,它有什么問題和怎樣寫出跨瀏覽器的代碼,我將在這一章做一個(gè)概述。我也會(huì)提供一些有精彩的關(guān)于事件處理程序的細(xì)節(jié)的文章。2010-02-02
javascript實(shí)現(xiàn)的上下無縫滾動(dòng)效果
這篇文章主要介紹了javascript實(shí)現(xiàn)的上下無縫滾動(dòng)效果,具有無縫滾動(dòng)及響應(yīng)鼠標(biāo)滑過停止?jié)L動(dòng)的功能,簡(jiǎn)便實(shí)用,需要的朋友可以參考下2016-09-09
JavaScript實(shí)現(xiàn)多文件下載方法解析
這篇文章主要介紹了JavaScript實(shí)現(xiàn)多文件下載方法解析,文章通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
JavaScript 小型打飛機(jī)游戲?qū)崿F(xiàn)原理說明
這次為大家?guī)淼男∮螒蚴牵捍蝻w機(jī)。呃。。。我本人就寫不出什么驚天大作的游戲的了,只能寫寫小游戲,代碼量小,又可以學(xué)習(xí),主要是想法思路,代碼量大,估計(jì)也沒啥人會(huì)去研究學(xué)習(xí)。。。2010-10-10
JavaScript中幾種時(shí)間格式之間的簡(jiǎn)單轉(zhuǎn)換
近期在練習(xí)或?qū)戫?xiàng)目時(shí)經(jīng)常會(huì)遇到時(shí)間格式的轉(zhuǎn)換問題,今天我就來總結(jié)一下,這篇文章主要給大家介紹了關(guān)于JavaScript中幾種時(shí)間格式之間的簡(jiǎn)單轉(zhuǎn)換,需要的朋友可以參考下2024-01-01

