JSON: Serializing types derived from IEnumerable

前端 未结 2 403
后悔当初
后悔当初 2021-01-13 07:04

JavaScriptSerializer serializes types derived from IEnumerable as JavaScript arrays. It convenient for arrays and lists but in some cases I need to serialize properties decl

2条回答
  •  梦谈多话
    2021-01-13 07:59

    You could try this:

    var items = new[] { "aaabbb", "abcd", "bdsasd", "bsdqw" };
    var data = (from x in items
                group x by x[0] into g
                select new
                {
                    Key = g.Key,
                    Value = g
                }).First();
    var serializer = new JavaScriptSerializer();
    var serialized = serializer.Serialize(data);
    

    or if you prefer:

    var items = new[] { "aaabbb", "abcd", "bdsasd", "bsdqw" };
    var data = items.GroupBy(i => i[0])
        .Select(x => new { Key = x.Key, Value = x })
        .First();
    var serializer = new JavaScriptSerializer();
    var serialized = serializer.Serialize(data);
    

    In both cases the result would be:

    {"Key":"a","Value":["aaabbb","abcd"]}
    

提交回复
热议问题