正常情况下,反序列化对我来说不是一个挑战。简单的调用JSON.NET和TADA!但是这种特殊的反序列化证明是相当困难的。所以基本架构如下:反序列化JSON到LINQ-able集合
{"1" : {
"name" : "Any Offers",
"stattrak" : "0",
"star" : "0",
"souvenir" : "0",
"sort" : "0",
"exterior" : "0",
"quality" : "0",
"icon" : "",
"worth" : 0,
"betable" : 0
},
"2" : {
"name" : "Real Money",
"stattrak" : "0",
"star" : "0",
"souvenir" : "0",
"sort" : "0",
"exterior" : "0",
"quality" : "0",
"icon" : "",
"worth" : 0,
"betable" : 0
}
}
现在没有确定与5000+键一个巨大的类我去的路线:
var schema = JsonConvert.DeserializeObject<Dictionary<string,JToken>>(schemaString);
这为我提供了以下(LINQPad输出):
我怎么会去-ING LINQ对值,如发现有“任何优惠”的值都JTokens。我只是不够嵌套?因为我试图做线沿线的东西:
schema.Select(x => x.Value.Children().Children().Values().Where(n=>n......))
这给我留下了:
任何帮助将是fanstastic。
TL; DR;希望能够使用LINQ对集合中的值进行搜索,并且无法找出这样做的方法语法。
嵌套我没有看到,在你的字典的项目有5000个属性。即使它们是,你也可以反序列化为'Dictionary',这很容易“LINQable”,尽管不是很安全。 –