将Json字符串反序列化为Dictionary <int,list <t>&gt;

时间:2017-03-09 14:38:12

标签: c# json dictionary serialization

如何在C#中反序列化跟随json字符串而不使用动态类型的最佳方法?

var jss = new JavaScriptSerializer();
var table = jss.Deserialize<Dictionary<int,List<T>>>(json);

[[{
   "value": "1.19",
   "datevalue": "2016-03-19 19:33:13",  
   "winflag": "1",
   "idmercado": "1"
   },
   {
   "value": "1.22",
   "datevalue": "2016-03-19 19:33:13",
   "winflag": "1",
   "idmercado": "1"
   }],
   [{
     "value": "1.04",
     "datevalue": "2016-03-19 19:33:13",
     "winflag": "1",
     "idmercado": "2"
   }]]

1 个答案:

答案 0 :(得分:0)

就像Johnny所说,我的json字符串是一个数组数组。所以,我使用了一个特殊的粘贴来构建类的结构。 这个解决方案在这篇文章中: How to deserialize a JSON array with nested arrays of objects

public class Rootclass
{
    public List<Class1> rootClass { get; set; }
}

public class Class1
{
    public string value { get; set; }
    public string datevalue { get; set; }
    public string winflag { get; set; }
    public string idmercado { get; set; }
}

List<List<Class1>> myDeserializedObjList =
        JsonConvert.DeserializeObject<List<List<Class1>>>(json);