我想知道如何通过jquery访问这个json字符串中的每个对象。
返回的字符串如下所示:
{"Appointments":["/Date(1507238100000)/"],"Sessions":[]}
我需要访问约会对象和会话对象,我似乎无法弄清楚。
我尝试通过索引访问约会对象,例如:
$.each(data, function (index, element) {
$.each(data, function (index, element) {
//alert(JSON.stringify(element, null, 4));
alert(element.Appointments[index]);
});
//value = new Date(parseInt(element.Appointments.substr(6)));
//var rowContent = "<tr><td>" + value + "</td></tr>";
//$('#appointmentsTable tbody').append(rowContent);
});
这行不通,但是,想法?
$.each
遍历数组时,您不必通过 element.Appointments[index]
访问元素。
例如
var data = {"Appointments":["/Date(1507238100000)/"],"Sessions":[]};
要循环data.Appointments
中的对象,您只需这样做
$.each(data.Appointments, function(index, element){
console.log(element);
});
要遍历data.Sessions
中的对象,您只需这样做
$.each(data.Sessions, function(index, element){
console.log(element);
});
有关$.each
的更多示例,请参阅此处的 JQuery API 文档。
你实际上根本不需要jquery。
你可以使用普通的javascript。如果你的项目使用 ES6,你可以把它写成:
// extract appointments and sessions from data
let { Appointments, Sessions } = data
// iterate over appointments
Appointments.forEach((appointment, index) => { console.log(appointment) })
// iterate over sessions
Sessions.forEach((session, index) => { console.log(session) })
基本上,在迭代回调中你真的不需要index
- 你可以直接访问你正在迭代的元素。这同样适用于你的jquery函数。
如果你更喜欢使用jQuery,你的代码可以重写为:
$.each(data.Appointments, (index, elem) => alert(elem))