簡體   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