【发布时间】:2017-03-09 14:38:12
【问题描述】:
如何在 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"
}]]
【问题讨论】:
-
我认为它是有效的 JSON,但不清楚您要在哪里获取字典。您也应该考虑使用 DataContractSerializer 或 Json.NET,我认为您会得到更好的支持那里
-
您应该查找 Json.NET (NewtonSoft JSON)。它提供了更干净的序列化/反序列化,甚至在 JavaScriptSerializer 上的 MSDN 文章也推荐使用它。
-
感谢您的回答。 [0[{ },{ }][1[{ },{ }] 也许这是转换为字典的更好方法?
-
你的 JSON 是一个数组数组...所以首先反序列化它,然后使用索引作为键调用数组上的字典
-
非常感谢约翰尼,它解决了!
标签: c# json dictionary serialization