2

我正在使用 asp.net mvc 4。查看一些教程,我创建了自己的 JsonResult 类,继承自 OOB JsonResult 类以使用 Json.Net。下面是我的班级的样子。

public class JsonNetResult : JsonResult
{
    private readonly object _data;

    public JsonNetResult(object data)
    {
        if (data == null)
        {
            throw new ArgumentNullException("data");
        }

        _data = data;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        if (context == null)
        {
            throw new ArgumentNullException("context");
        }

        var response = context.HttpContext.Response;
        response.ContentType = "application/json";
        var writer = new JsonTextWriter(response.Output);
        var serializer = JsonSerializer.Create(new JsonSerializerSettings());
        serializer.Serialize(writer, _data);
        writer.Flush();
    }
}

我想问的是

  1. 是否需要此类,或者 .net 在内部使用 Json.Net 来序列化对象。
  2. 我也可以直接将序列化模型绑定到视图。
4

1 回答 1

3

对于 Web API,MS 团队使用了 Newtonsoft 库;Scott Hanselman 在我参加的一次会议上宣称它非常优越。

不幸的是,他们没有将它烘焙到 MVC4 中(希望他们有),所以你必须按照你正在做的事情来放入你自己的实现:

http://james.newtonking.com/archive/2008/10/16/asp-net-mvc-and-json-net.aspx

于 2013-04-04T17:17:35.250 回答