将对象序列化为Json

时间:2011-10-13 19:22:01

标签: c# json

我正在尝试将对象序列化为Json。下面的代码返回的错误是“类型字符串的实例不能分配给JsonResult类型的变量”。谁能解释我做错了什么?我认为serialize()接受一个对象,这就是我传递它的东西。

    public class SummaryStats
    {
        public int rating_number { get; set; }
        public string rating_label { get; set; }
        public string rating_view { get; set; }
        public int max_stars { get; set; }
        public int star_1_rating { get; set; }
        public int star_2_rating { get; set; }
        public int star_3_rating { get; set; }
        public int star_4_rating { get; set; }
        public int star_5_rating { get; set; }
    }
    public JsonResult GetSummaryStats()
    {
        SummaryStats stats = new SummaryStats();
        stats.star_1_rating = 1;
        stats.star_2_rating = 1;
        stats.star_3_rating = 1;
        stats.star_4_rating = 11;
        stats.star_5_rating = 20;



        JavaScriptSerializer json = new JavaScriptSerializer();
        JsonResult output = json.Serialize(stats);

        return output;

    }

2 个答案:

答案 0 :(得分:4)

假设这是Controller导数,只需执行:

return Json(stats);

其余部分由您处理。

答案 1 :(得分:0)

尝试序列化您的课程:

[Serializable()]        
public class SummaryStats
{
...
}