Сериализация объекта в формате Json

#c# #json

#c# #json

Вопрос:

Я пытаюсь сериализовать объект как Json. Ошибка, возвращаемая приведенным ниже кодом: «Экземпляр типа string не может быть назначен переменной типа 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;

    }
  

Ответ №1:

Предполагая, что это внутри Controller производной, просто сделайте:

 return Json(stats);
  

Остальное обрабатывается за вас.

Ответ №2:

Попробуйте сериализовать свой класс :

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