JavaScriptSerializer serializuje typy wyprowadzone z IEnumerable jako tablice JavaScript. Jest to wygodne w przypadku tablic i list, ale w niektórych przypadkach konieczne jest przekształcenie do postaci szeregowej właściwości zadeklarowanych w typie pochodnym (np. Klucz w IGrouping). Oto przykładowy kod:JSON: Typy szeregowania wyprowadzone z IEnumerable
var items = new[] { "aaabbb", "abcd", "bdsasd", "bsdqw" };
IGrouping<char, string> data = items.GroupBy(i => i[0]).First();
var serializer = new JavaScriptSerializer();
var serialized = serializer.Serialize(data);
// serialized == "[\"aaabbb\",\"abcd\"]"
// doesn't contain definition for IGrouping.Key property
Czy istnieje jakieś proste rozwiązanie tego problemu?
Mam swój pomysł, ale szukam wspólnego rozwiązania z obsługą wszystkich typów pochodnych od IEnumerable: kolekcji ICollection, IGrouping, iLookup a nawet niestandardowe typy użytkowników – altso