2012-07-19 52 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