当前位置:  开发笔记 > 编程语言 > 正文

ASP MVC 4返回json复杂对象

如何解决《ASPMVC4返回json复杂对象》经验,为你挑选了1个好方法。



1> davidmdem..:

默认情况下,MVC使用Microsoft的JavascriptSerializer类.我有很多次发现这个类与Json.NET相比很短.WebAPI和MVC的未来版本已切换到Json.NET作为默认序列化程序.

有一些方法可以替换底层的默认序列化程序,但这需要付出很多努力.

您可以使用Json.NET序列化您的对象并通过更改您的返回值将其作为json返回:

return Content(JsonConvert.SerializeObject(info), "application/json");

这应该相当容易测试.我相信它会解决您的序列化问题.

为方便起见,您可以在控件基类上放置一个action方法,如下所示:

public virtual ActionResult JsonResponse(object obj)
{
    return Content(JsonConvert.SerializeObject(obj), "application/json");
}

控制器中的用法:

public ActionResult GetData()
{
    var info = new ComplexA
    {
        A = "test",
        B = "BB",
        Complex1 = new Foo {Name = "Ss", Prop1 = new Bar {A = "Name", B = false}}
    };
    return JsonResponse(info);
}

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有