请在Jquery中解释.each循环

时间:2014-11-24 06:52:18

标签: javascript jquery json each

我是Jquery的新手。我正在调用一个返回Json对象的Struts 2动作。 我不明白.each函数在Jquery中是如何工作的。

您能否解释一下如何在使用jquery的复杂json中使用变量数据。

{
    "od": {
        "cwd": [
            {
                "batchCount": 140,
                "batchId": "2121",
                "countryName": "Mexico",
                "processId": "210002",
                "status": "F",
                "timeRequired": 140
            },
            {
                "batchCount": 140,
                "batchId": "8259",
                "countryName": "Japan",
                "processId": "220002",
                "status": "F",
                "timeRequired": 140
            }           
        ],
        "percentageCompleted": 100,
        "remainingTime": "-104Hours -4Mins",
        "successBatchCount": 0,
        "totalBatchCount": 920
    },
    "processDateInput": "19/11/2014" }

所以这就是我想知道的 如果将json数据解析为var obj,

可以通过以下方式访问cwd:

var cwd = result.od.cwd;
$.each(cwd, fuction(index, value)){
var batchcount = value.batchcount;
});

同样可以解析jquery中的任何json字符串。

谢谢和问候, 图莎尔

1 个答案:

答案 0 :(得分:3)

为了基本的理解,请用你的例子解释你,

第一个父对象有两个对象," od"和" processDateInput"您可以直接获取对象的值,如od.percentageCompleted,od.remainingTime,processDateInput等。

因此,如果对象内部有数组,则需要使用$ .each或for循环,例如

$.each(od.cwd,function(index,element){
     /*index will be 0 and element will have first cwd[0] value {
            "batchCount": 140,
            "batchId": "2121",
            "countryName": "Mexico",
            "processId": "210002",
            "status": "F",
            "timeRequired": 140
        }*/
     //similar to this you can get the value
     var batchCount=element.batchCount;
});