在Asp.Net Mvc中创建Json?
问题描述:
我要创建这样的:在Asp.Net Mvc中创建Json?
[
['date', 'T1', 'T2', 'T3'],
['2000', 1, 1, 0.5],
['2001', 2, 0.5, 1],
['2002', 4, 1, 0.5],
['2003', 8, 0.5, 1],
['2004', 7, 1, 0.5]
]
从我的模型
public partial class AylikOkumaIstatistik
{
public string sno { get; set; }
public string date{ get; set; }
public Nullable<decimal> TotalUsageValue { get; set; }
public string UsageType { get; set; } // T1,T2,T3
}
这是可能的使用JSON?如果可能,是否有关于这个主题的任何代码示例或教程。如何将数据库中的数据转换为json?
谢谢。
答
这可能与使用json?
当然,你可以使用object[]
类型视图模型(其中每个元素本身是一个object[]
):
public ActionResult Index()
{
object[] model = new[]
{
new object[] { "date", "T1", "T2", "T3" },
new object[] { "2000", 1, 1, 0.5 },
new object[] { "2001", 2, 0.5, 1 },
new object[] { "2002", 4, 1, 0.5 },
new object[] { "2003", 8, 0.5, 1 },
new object[] { "2004", 7, 1, 0.5 },
};
return Json(model, JsonRequestBehavior.AllowGet);
}
至于是数据转换在数据库中这个视图模型关心的是,你必须举例说明你的数据在数据库中是如何表现的。理想情况下,为您的模型提供一个硬编码示例。但是,将您的域模型投影到object[]
将会很简单。
答
如果你可以使用Mvc 4?您可以添加WebApi控制器来管理json请求。您只需要将您的实体返回到WepApi控制器方法中,它就会自动转换为json对象,反之亦然。即使你在post请求体中有json对象,它也会工作,它们也会映射到你的.net实体,并作为传入参数进入controller方法。如果你需要我可以给你任何你需要的例子。
我新的关于这个话题,我使用mvc3。你能举个例子吗? – 2012-07-19 08:46:47
你可以使用Newtonsoft.Json(你可以通过NuGet下载)。只需使用JsonConvert.SerializeObject方法,您就可以将实体转换为json对象。查看相关主题:http://stackoverflow.com/questions/9729220/how-to-create-a-json-object-in-asp-net-mvc-3-controller。但我真的强烈建议你看看WebApi是最简单的方法,如果你的项目处于困境。 – 2012-07-19 08:52:28