Как правило, десериализация не является проблемой для меня. Простой вызов JSON.NET и TADA! Но эта десериализация оказывается довольно сложной. Таким образом, основная схема выглядит следующим образом:Deserialize JSON TO LINQ-able Collection
{"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
}
}
Теперь без определения MASSIVE класса с 5000+ Кис я пошел маршрут:
var schema = JsonConvert.DeserializeObject<Dictionary<string,JToken>>(schemaString);
Это дает мне следующую (LINQPad выход):
Как бы идти о LINQ-ки против ценностей, таких, как найти все JTokens с значением «Любые предложения». Я просто недостаточно гнездился? Потому что я пытался делать что-то вдоль линий:
schema.Select(x => x.Value.Children().Children().Values().Where(n=>n......))
Который оставляет меня:
Любая помощь будет fanstastic.
TL; DR; Хотите иметь возможность искать значения в коллекции с помощью LINQ и не можете определить синтаксис метода для этого.
Я не вижу, что элементы в вашем словаре есть 5000 свойств. И даже если это так, вы можете просто десериализовать все как «Словарь', который легко «LINQable», хотя и не очень безопасный. –