asp.net-mvc - asp.net mvc 4.0 使用什么来进行 JSON 序列化?

标签 asp.net-mvc json.net

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

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. 我还可以直接将序列化模型绑定(bind)到 View 。

最佳答案

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

不幸的是,他们没有将其融入 MVC4(希望他们有),因此您必须按照您正在做的事情放入自己的实现:

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

关于asp.net-mvc - asp.net mvc 4.0 使用什么来进行 JSON 序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15816319/

相关文章:

asp.net - 在构建 SharePoint Web 应用程序时我如何从 ASP.NET MVC 知识中受益

asp.net-mvc - 必需的 NotMapped bool 值无法正确验证

.net - 关闭读取器时,处置数据上下文会导致调用 Read 的尝试无效

c# - Json.net 反序列化错误(JSONReaderException)

c# - 使用 NewtonSoft - 数组将 JSON 反序列化为 .net 对象

c# - Newtonsoft.Json 自定义日期序列化

asp.net-mvc - MVC4 Razor View IntelliSense 问题

c# - 从数据库 :The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' 访问数据的 MVC 问题

c# - Json.NET - 将 JSON 转换为 XML 并删除 XML 版本、编码?

json.net - Newtonsoft.Json 具有用于匿名类型的长 $type 字符串