JSON.NET使用默认值反序列化列表中的结果

时间:2013-01-14 14:03:53

标签: c# json.net

我错过了一些明显的东西吗? JSON:

  

{ “P”:[{},{ “的clientId”:102102059663, “checkbox1Ticked”:假 “checkbox2Ticked”:假},{ “的clientId”:23841 “checkbox1Ticked”:假 “checkbox2Ticked”:假},{ “的clientId”:102102111426, “checkbox1Ticked”:假 “checkbox2Ticked”:假}]}

C#:( checkboxData是上面的字符串)

    public JsonResult SubmitSelectedChanges(string checkboxData)
    {
        var deserializedClients = JsonConvert.DeserializeObject<ChangeList>(checkboxData);
        return null;
    }

    public class ChangeList
    {
        public List<Change> p { get; set; }
    }


    public class Change
    {
        string clientId { get; set; }
        bool checkbox1Ticked { get; set; }
        bool checkbox2Ticked { get; set; }
    }

反序列化后,clientId始终为null,checbox1Ticked和checkbox2Ticked为false。

1 个答案:

答案 0 :(得分:0)

因为我忘记了更改类的访问修饰符:

   public class Change
        {
            public string clientId { get; set; }
            public bool checkbox1Ticked { get; set; }
            public bool checkbox2Ticked { get; set; }
        }

我原本以为这会引发异常。