将Json字符串转换为C#类对象
我有一个json字符串,如将Json字符串转换为C#类对象,c#,json,asp.net-mvc,serialization,C#,Json,Asp.net Mvc,Serialization,我有一个json字符串,如{field:'DateToEnd',dir:'asc'} 我在c#中有一个类具有以下两个属性 public class SortDescriptor { public SortDescriptor() { } public string Field { get; set; } public string Dir { get; set; } } 现在我想把这个字符串转换成class对象,这样我就可以访问属性了 我尝试了下面的例子
{field:'DateToEnd',dir:'asc'}
我在c#中有一个类具有以下两个属性
public class SortDescriptor
{
public SortDescriptor()
{
}
public string Field { get; set; }
public string Dir { get; set; }
}
现在我想把这个字符串转换成class对象,这样我就可以访问属性了
我尝试了下面的例子。但这对我不起作用
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'.
有人能告诉我怎么做吗?我很确定反序列化对象需要一个类型作为第二个参数,例如
JavaScriptSerializer serialize = new JavaScriptSerializer();
SortDescriptor sort = (SortDescriptor)serialize.DeserializeObject(fixSortString, typeof(SortDescriptor));
或使用泛型:
JavaScriptSerializer serialize = new JavaScriptSerializer();
SortDescriptor sort = (SortDescriptor)serialize.DeserializeObject<SortDescriptor>(fixSortString);
JavaScriptSerializer serialize=新的JavaScriptSerializer();
SortDescriptor sort=(SortDescriptor)serialize.DeserializeObject(fixSortString);
使用来自nuget的json.net(newtonsoft.json)序列化.反序列化(fixSortString)代码>@JeremyThompson我已经编辑了我的问题。@GeneR它对我有用。谢谢。这是我的第二个答案