hughesdan
hughesdan

Reputation: 2851

Serializing an object as Json

I'm attempting to serialize an object as Json. The error returned by the code below is "An instance of type string cannot be assigned to a variable of type JsonResult". Can someone explain what I've done wrong? I thought serialize() accepts an object and that's what I am passing it.

    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;

    }

Upvotes: 2

Views: 5374

Answers (2)

Murtaza Mandvi
Murtaza Mandvi

Reputation: 10998

Try Serializing your class :

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

Upvotes: 1

Moo-Juice
Moo-Juice

Reputation: 38820

Assuming this is within a Controller derivative, just do:

return Json(stats);

The rest is handled for you.

Upvotes: 5

Related Questions