有一个字符串如下所示:我想把它反序列化为
List<ItemMaterialList>其中模型类为:    /// <summary>
    /// 一条材料记录的状态
    /// </summary>
    public class MaterialListStatus
    {
        /// <summary>
        /// 材料Id
        /// </summary>
        public string MaterialId { get; set; }
        /// <summary>
        /// 材料类型的文字描述
        /// </summary>
        public string Type { get; set; }
        /// <summary>
        /// 材料类型的值,0:纸质;1:电子档;
        /// </summary>
        public string Value { get; set; }
        /// <summary>
        /// 浏览文字
        /// </summary>
        public string ViewText { get; set; }
        /// <summary>
        /// 按钮显示
        /// </summary>
        public string SelectShow { get; set; }
    }    /// <summary>
    /// 事项材料状态
    /// </summary>
    public class ItemMaterialList
    {
        /// <summary>
        /// 事项Id
        /// </summary>
        public string ItemId { get; set; }
        /// <summary>
        /// 事项材料列表
        /// </summary>
        public List<MaterialListStatus> MaterialList { get; set; }
    }
但系统报错如下:

解决方案 »

  1.   

    我怀疑,难道是我应该反序列化时不用List用数组?
      

  2.   

    试试
    var js = new System.Web.Script.Serialization.JavaScriptSerializer();
                    t = js.Deserialize<T>(json);
      

  3.   

    我自己调试了半天,总算发现原因了,只有形似{"aaa":"aaa"}才能被反序列化,而{aaa:"aaa"}却不行了
      

  4.   

    在线判断json 
      

  5.   

    字符串必须是加引号的,数字可以不加。
    System.Web.Script.Serialization.JavaScriptSerializer()是支持嵌套集合序列化的