我使用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();
}
}
我想问的是
- 是否需要这个类,或者。net是否使用Json。
- 我也可以直接绑定一个序列化模型到视图。
对于Web API, MS团队使用Newtonsoft库;斯科特·汉瑟曼在我参加的一次会议上宣称它非常优越。
不幸的是,他们没有把它放入MVC4(希望他们有),所以你必须按照你正在做的事情放入你自己的实现:
http://james.newtonking.com/archive/2008/10/16/asp-net-mvc-and-json-net.aspx