2012-07-19 55 views
1

我要创建这样的:在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?

谢谢。

回答

1

这可能与使用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[]将会很简单。

1

如果你可以使用Mvc 4?您可以添加WebApi控制器来管理json请求。您只需要将您的实体返回到WepApi控制器方法中,它就会自动转换为json对象,反之亦然。即使你在post请求体中有json对象,它也会工作,它们也会映射到你的.net实体,并作为传入参数进入controller方法。如果你需要我可以给你任何你需要的例子。

+0

我新的关于这个话题,我使用mvc3。你能举个例子吗? – 2012-07-19 08:46:47

+0

你可以使用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