使用静态Json类(system.web.helpers.json)使用MVC3(asp.net)创建JSON时出现问题

时间:2011-08-05 17:10:11

标签: asp.net-mvc json asp.net-mvc-3

我在使用C#MVC3 system.web.helpers.json命名空间创建以下JSON时遇到问题。这是我想要形成的:

{"success":true,"msg":"", "Data": [ { "Id":167 } ] }

我试过的是这个(没有成功)

var x = Json(
            new {Id = result.SponsorListId});

        return Json(new
                        {
                            success,
                            msg = success ? "" : "sponsorListResult Passed Into Update as null",
                            Data = new List<Json>() {x}

                        }, JsonRequestBehavior.DenyGet);

我也尝试了很多其他的事情,但没有列出我所有的失败。

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:1)

基本上所有Json()方法都会序列化您发送它的对象。当你发送一个List时,你发送的是一个JsonResponse,这不是你想要的。你应该做的是:

   return Json(new
                    {
                        success,
                        msg = success ? "" : "sponsorListResult Passed Into Update as null",
                        Data = new []{ new { Id: result.SponsorListId } }
                    }, JsonRequestBehavior.DenyGet);

哪个应序列化到您想要的位置。