阅读(3398) (24)

jQuery 遍历Json的实现代码

2016-08-15 19:08:40 更新

在前端开发中,很多时候我们会使用jQuery提高开发效率,jQuery也有遍历JSON的方法,代码如下:

/* 
author: liulf 
function: 
var __db_cpcj=vCpcj; 
var __db_cp=vCp; 
var vCp={"cppage":[ 
{"cpdh":"A01000101","page":"1","ca":"1309-36-0","mc":"硫铁矿","ename":"Pyrite","bm":"黄铁矿"}, 
{"cpdh":"A01000201","page":"1","ca":"1309-36-0","mc":"硫精砂","ename":"Pyrite concentrate;Sulfur concentrate","bm":""}, 
{"cpdh":"A01000202","page":"1","ca":"1309-36-0","mc":"硫精矿粉","ename": 
"Powdered pyrite concentrate;Pyrites concentrate,powder;Sulfur concentrate,powder","bm":"硫精矿"},
{"cpdh":"A02000101","page":"1","ca":"","mc":"磷矿石","ename":"Phosphorus ore","bm":""}, 
{"cpdh":"A02000111","page":"2","ca":"","mc":"磷矿砂","ename":"Phosphorite grit","bm":""}, 
{"cpdh":"A02000201","page":"2","ca":"","mc":"磷矿粉","ename":"Phosphate rock powder","bm":""},
{"cpdh":"A03000101","page":"2","ca":"12447-04-0","mc":"硼矿石","ename":"Ascharite;Boric ore","bm":"硼镁矿"}, 
{"cpdh":"A04000101","page":"2","ca":"","mc":"钾长石","ename":"Potash feldspar;Potassium feldspars","bm":""}, 
{"cpdh":"A04000201","page":"2","ca":"12003-63-3","mc":"长石粉","ename":"Feldspar powder","bm":""}, 
{"cpdh":"A04000301","page":"2","ca":"","mc":"光卤石","ename":"Carnallite","bm":""} 
]} 
*/
function ObjSearch() {
    this.kw = '';
    this.searchCpcj = function() {
        $(vCpcj).each(function() {});
    }
    this.searchCp = function() {
        // var json = eval(vCp.cppage) 
        // for(var i=0; i<json.length; i++) 
        // { 
        // alert(json[i].cpdh+" " + json[i].page) 
        // break; 
        // } 
        $.each(vCp.cppage, function(index, content) {
            document.write('<div>' + content.cpdh + '</div><br />');
        });
    }
}

js 如何遍历json对象?其实方法很简单。 

比如有如下json对象: 


var obj ={”name”:”冯娟”,”password”:”123456″,”department”:”技术部”,”sex”:”女”,”old”:30}; 

遍历方法: 

代码如下:
for (var p in obj) {
    str = str + obj[p] + ',';
    return str;
}

综合实例:

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);
    //数组与对象为object类型,其他分别是string与number类型
    //此时的k代表a、b、c、d,v代表对应的值
    if (typeof(v) == "object") {
        //获取数组与对象后,再去遍历这个数组与对象
        $.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);
});
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);
        }
    });
});
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]);
        }
    }
}