如何在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;

我有一个保存用户名和作业计数的对象,然后将其插入到列表中。(来自数据表)

假设下面的代码是正确的方法,那么如何在javascript中访问这些数据元素

类别:

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`
});