gpt4 book ai didi

javascript - 为什么我不能使用 jQuery 循环遍历我的 json 对象?

转载 作者:行者123 更新时间:2023-12-01 00:59:32 27 4
gpt4 key购买 nike

我正在使用 jquery 循环 json 对象...但有些它似乎不起作用...

这是我的代码,

$.ajax({
type: "POST",
url: "Default.aspx/GetRecords",
// data: "{}",
data: "{'currentPage':1,'pagesize':5}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(jsonObj) {
alert(jsonObj);
for (var i = jsonObj.length - 1; i >= 0; i--) {
var employee = jsonObj[i];
alert(employee.Emp_Name);

当提醒我的 jsonObj 时,我得到了 [object Object] 但当我提醒 jsonObj.length 时,它显示 undefined 任何建议....

编辑:

使用下面的答案我无法迭代div,

$.each(jsonObj, function(i, employee) {
$('<div class="resultsdiv"><br /><span class="resultName">' + employee[i].Emp_Name + '</span><span class="resultfields" style="padding-left:100px;">Category&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee[i].Desig_Name + '</span><br /><br /><span id="SalaryBasis" class="resultfields">Salary Basis&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee[i].SalaryBasis + '</span><span class="resultfields" style="padding-left:25px;">Salary&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee[i].FixedSalary + '</span><span style="font-size:110%;font-weight:bolder;padding-left:25px;">Address&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + employee[i].Address + '</span></div>').insertAfter('#ResultsDiv');
});

我的 json 对象将是这个,

{
"Table": [{
"Row": "1",
"Emp_Id": "3",
"Emp_Name": "Jerome",
"Address": "Madurai",
"Desig_Name": "Supervisior",
"SalaryBasis": "Monthly",
"FixedSalary": "25000.00"
}, {
"Row": "2",
"Emp_Id": "4",
"Emp_Name": "Mohan",
"Address": "Madurai",
"Desig_Name": "Acc ",
"SalaryBasis": "Monthly",
"FixedSalary": "200.00"
}, {
"Row": "3",
"Emp_Id": "5",
"Emp_Name": "Murugan",
"Address": "Madurai",
"Desig_Name": "Mason",
"SalaryBasis": "Weekly",
"FixedSalary": "150.00"
}, {
"Row": "4",
"Emp_Id": "6",
"Emp_Name": "Ram",
"Address": "Madurai",
"Desig_Name": "Mason",
"SalaryBasis": "Weekly",
"FixedSalary": "120.00"
}, {
"Row": "5",
"Emp_Id": "7",
"Emp_Name": "Raja",
"Address": "Madurai",
"Desig_Name": "Mason",
"SalaryBasis": "Weekly",
"FixedSalary": "135.00"
}]
}

我在 json 选项卡中通过 firebug 检查了这个

{“表”:[{“行”:“1...edSalary”:“135.00”}]}...

我得到的响应

{"d":"{\"Table\" : [{\"Row\" : \"1\",\"Emp_Id\" : \"3\",\"Emp_Name\" : \"Jerome\",\"Address\" : \"Madurai\",\"Desig_Name\" : \"Supervisior\",\"SalaryBasis\" : \"Monthly\",\"FixedSalary\" : \"25000.00\"},{\"Row\" : \"2\",\"Emp_Id\" : \"4\",\"Emp_Name\" : \"Mohan\",\"Address\" : \"Madurai\",\"Desig_Name\" : \"Acc \",\"SalaryBasis\" : \"Monthly\",\"FixedSalary\" : \"200.00\"},{\"Row\" : \"3\",\"Emp_Id\" : \"5\",\"Emp_Name\" : \"Murugan\",\"Address\" : \"Madurai\",\"Desig_Name\" : \"Mason\",\"SalaryBasis\" : \"Weekly\",\"FixedSalary\" : \"150.00\"},{\"Row\" : \"4\",\"Emp_Id\" : \"6\",\"Emp_Name\" : \"Ram\",\"Address\" : \"Madurai\",\"Desig_Name\" : \"Mason\",\"SalaryBasis\" : \"Weekly\",\"FixedSalary\" : \"120.00\"},{\"Row\" : \"5\",\"Emp_Id\" : \"7\",\"Emp_Name\" : \"Raja\",\"Address\" : \"Madurai\",\"Desig_Name\" : \"Mason\",\"SalaryBasis\" : \"Weekly\",\"FixedSalary\" : \"135.00\"}]}"}

任何建议...

最佳答案

使用 jQuery 的 each 方法。 Docs .

success: function(jsonObj) {

$.each(jsonObj, function(i, employee) {

alert(employee.Emp_Name);

}
}

此外,据我所知,alert() 本身不会显示 JSON 结构。

因为它是一个对象(而不是数组),所以我认为它不会有长度属性。

此外,您是否有任何理由更喜欢在 for 循环中倒数而不是向上数?这是一个优化技巧吗?

更新

看到一些 JSON 示例后,即

{
Table: [
{
Row: '1',
Emp_Id: '3',
Emp_Name: 'Jerome',
Address: 'Madurai',
Desig_Name: 'Supervisior',
SalaryBasis: 'Monthly',
FixedSalary: '25000.00'
},
{
Row: '2',
Emp_Id: '4',
Emp_Name: 'Mohan',
Address: 'Madurai',
Desig_Name: 'Acc ',
SalaryBasis: 'Monthly',
FixedSalary: '200.00'
},
{
Row: '3',
Emp_Id: '5',
Emp_Name: 'Murugan',
Address: 'Madurai',
Desig_Name: 'Mason',
SalaryBasis: 'Weekly',
FixedSalary: '150.00'
},
{
Row: '4',
Emp_Id: '6',
Emp_Name: 'Ram',
Address: 'Madurai',
Desig_Name: 'Mason',
SalaryBasis: 'Weekly',
FixedSalary: '120.00'
},
{
Row: '5',
Emp_Id: '7',
Emp_Name: 'Raja',
Address: 'Madurai',
Desig_Name: 'Mason',
SalaryBasis: 'Weekly',
FixedSalary: '135.00'
}
]
}

您似乎希望像这样访问员工姓名

 $.each(jsonObj.table, function(i, employee) {

alert(employee.Emp_Name);

}

关于javascript - 为什么我不能使用 jQuery 循环遍历我的 json 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2542941/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com