我有一个像{field:'DateToEnd',dir:'asc'}
我在c#中有一个具有以下两个属性的类。
public class SortDescriptor
{
public SortDescriptor()
{
}
public string Field { get; set; }
public string Dir { get; set; }
}
现在我想将此字符串转换为类对象,以便我可以访问属性。
我尝试了以下示例。但它不适合我。
JavaScriptSerializer serialize = new JavaScriptSerializer();
SortDescriptor sort = (SortDescriptor)serialize.DeserializeObject(fixSortString);
它出现以下错误:
Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Object]' to type 'NF.Common.SortDescriptor'.
任何人都可以让我知道我该怎么做吗?
答案 0 :(得分:0)
我很确定 DeserializeObject 需要一个类型作为第二个参数,例如
JavaScriptSerializer serialize = new JavaScriptSerializer();
SortDescriptor sort = (SortDescriptor)serialize.DeserializeObject(fixSortString, typeof(SortDescriptor));
或使用Generics:
JavaScriptSerializer serialize = new JavaScriptSerializer();
SortDescriptor sort = (SortDescriptor)serialize.DeserializeObject<SortDescriptor>(fixSortString);