繁体   English   中英

反序列化Json Object时预期结果不正确?

[英]When Deserializing Json Object expected result is not correct?

在做JSON示例时,我已经到达一个拥有gridview的地步,应该将其绑定到数据源。 数据源在Json对象中

编码

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Employee employee = new Employee();
                var list = employee.CreateEmployees();

                var query = from emp in list.AsEnumerable()
                            select new
                            {
                                id = (int)emp.EmployeeId,
                                name = (string)emp.Name,
                                nic = (string)emp.Nic,
                                salary = (int)emp.Salary
                            };

                JObject o = JObject.FromObject(new
                {
                    Employees = query
                });

                Response.Write(o);
                Session["JsonEmployee"] = o;
            }
            LoadGrid();
        }

对于加载网格:

 void LoadGrid() {

           List<Employee> lst = new List<Employee>();
            var objects = (JObject)Session["JsonEmployee"];

            foreach (var v in objects)
            {
                lst = JsonConvert.DeserializeObject<List<Employee>>(v.Value.ToString());

            }
            GridView1.DataSource = lst;
            GridView1.DataBind();


        }

一切正常,但唯一的问题是每个员工的EmployeeId为0。

员工类别为:

public class Employee
    {
        public int EmployeeId { get; set; }
        public string Name { get; set; }

        public string  Nic { get; set; }
        public int Salary { get; set; }
..... 
}

请注意 ,在json对象中,每个员工都有正确的ID,但是在将其转换为列表时,每个员工的员工ID为0。

在一个对象中,它称为id,在另一个EmployeeId中。 命名相同,应该可以解决问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM