我是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字符串。
谢谢和问候, 图莎尔
答案 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;
});