将包含子数组的json对象反序列化为自定义c#-对象

将包含子数组的json对象反序列化为自定义c#-对象,c#,asp.net,json,deserialization,C#,Asp.net,Json,Deserialization,这是我的json对象: {“结果”:“确定”,“数据类型”:“2”,“数据”:[“5”,“1”],[“6”,“2”],[“7”,“3”],[“8”,“4”],[“9”,“5”],[“10”,“6”],[“41”,“7”]} 我想将其反序列化为自定义c#类,如下所示: [Serializable] public class DataRow { public string Result { get; set; } public string Action { get; set; }

这是我的json对象: {“结果”:“确定”,“数据类型”:“2”,“数据”:[“5”,“1”],[“6”,“2”],[“7”,“3”],[“8”,“4”],[“9”,“5”],[“10”,“6”],[“41”,“7”]}

我想将其反序列化为自定义c#类,如下所示:

[Serializable]
public class DataRow
{
    public string Result { get; set; }
    public string Action { get; set; }
    public string DataType { get; set; }
    public IEnumerable<KeyValuePair<string, string>> Data { get; set; }
}
[可序列化]
公共类数据行
{
公共字符串结果{get;set;}
公共字符串操作{get;set;}
公共字符串数据类型{get;set;}
公共IEnumerable数据{get;set;}
}

如何使用.Net JavaScriptSerializer执行此操作?

将数据的数据类型更改为字符串[]。工作起来很有魅力

新的JavaScriptSerializer().Deserialize(yourJsonObjectString)是否不起作用?否。在数据类型KeyValuePair上失败。能否将该类型更改为Dictionary?我记得自己在尝试序列化类似字典的集合时遇到了问题,我认为只有字符串字典可以使用JavaScriptSerializer自动[反]序列化;你在那个地方的类型很相似;无论您在哪里使用dic,您都应该能够使用它(我的意思是,如果反序列化是这样工作的话);这个Json.NET库可能比JavaScriptSerializer做得更多。