JavaScriptSerializer serializes các loại có nguồn gốc từ IEnumerable dưới dạng mảng JavaScript. Nó thuận tiện cho mảng và danh sách nhưng trong một số trường hợp, tôi cần phải tuần tự hóa các thuộc tính được khai báo trong kiểu dẫn xuất (ví dụ: Khóa trong IGrouping). Dưới đây là một số mã mẫu:JSON: Sắp xếp các loại có nguồn gốc từ 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
Có giải pháp đơn giản nào cho vấn đề này không?
Tôi đã có ý tưởng của bạn, nhưng tôi đang tìm kiếm một giải pháp phổ biến với sự hỗ trợ của tất cả các loại có nguồn gốc từ IEnumerable: ICollection, IGrouping, ILookup và thậm chí tùy chỉnh loại người dùng – altso