如何在javascript中访问序列化对象中包含的数据
我有一个保存用户名和作业计数的对象,然后将其插入到列表中。(来自数据表) 假设下面的代码是正确的方法,那么如何在javascript中访问这些数据元素 类别:如何在javascript中访问序列化对象中包含的数据,javascript,jquery,json,serialization,Javascript,Jquery,Json,Serialization,我有一个保存用户名和作业计数的对象,然后将其插入到列表中。(来自数据表) 假设下面的代码是正确的方法,那么如何在javascript中访问这些数据元素 类别: public class thePeople { public string Name { get; set; } public string Calls { get; set; } public thePeople(string n, string c) { Name = n;
public class thePeople
{
public string Name { get; set; }
public string Calls { get; set; }
public thePeople(string n, string c)
{
Name = n;
Calls = c;
}
}
然后,使用该类生成代码:
var thosePeople = new List<thePeople>();
StringBuilder Qry = new StringBuilder();
Qry.Append("SELECT Count(Job_Id) as TotalJobs, User_Name,User_Id, jobstatus ");
Qry.Append("FROM Jobs, Users ");
Qry.Append("WHERE Jobs.jobstatus like 'o' AND Users.deleted = '0' AND Jobs.Next_User_Id = Users.User_Id ");
Qry.Append("GROUP BY User_Name");
DataTable dt = new DataTable();
dt = OMALibrary.OMADAL.Execute.PerCustomer.Query(Qry.ToString(), OMALibrary.OMADAL.Enumerators.TypeOfServers.Helpdesk, theCustomer);
for (int x = 0; x <= dt.Rows.Count - 1; x++)
{
thosePeople.Add(new thePeople(dt.Rows[x]["User_Name"].ToString(), dt.Rows[x]["Total_Jobs"].ToString()));
}
return JsonConvert.SerializeObject(thosePeople);
然后只需键入以下内容即可访问:
users.Name; users.Calls;
您需要查看序列化结果,以查看它的外观。由于您正在序列化一个
列表
,因此它可能以数组的形式出现:
[
{
"Name": "Joe",
"Calls": 1
},
{
"Name": "Nitin",
"Calls": 3
}
]
…因此您可以按如下方式访问元素
var users = jQuery.parseJSON(response.d);
console.log(users.length); // The number of entries
console.log(users[0].Name); // The first user's name
console.log(users[1].Name); // The first user's name
或循环通过:
jQuery.each(users, function(index, user) {
// Here, `user` is an entry from the array, so `user.Name` and `user.Calls`
});
这太完美了谢谢你,作品gr8!我使用了您提到的jquery中的foreach。每个(用户,函数(索引,用户){alert(用户[index].Name+“-”+用户[index].Calls);})@马提努塞利奥特:好交易,很高兴这有帮助!我不得不承认,我曾经猜测过它会以数组的形式出现,但这似乎是合乎逻辑的。
jQuery.each(users, function(index, user) {
// Here, `user` is an entry from the array, so `user.Name` and `user.Calls`
});