2012-07-19 39 views
0

可能重複:
How to create JSON string in C#在C#創建的Json

我想使用谷歌圖表噸ASP.NET MVC應用程序。那裏沒有mvc例子和datatable結構。我從來沒有工作過Json,我必須創建一個json,如下面的代碼。

如何創建這樣在C#

{"cols":[ 
    {"id":"","label":"Month","pattern":"","type":"string"}, 
    {"id":"","label":"Sales","pattern":"","type":"number"}, 
    {"id":"","label":"Expenses","pattern":"","type":"number"}], 
"rows":[ 
    {"c":[ 
    {"v":"April","f":null}, 
    {"v":1000,"f":null}, 
    {"v":900,"f":null}, 
    {"c":[ 
    {"v":"July","f":null}, 
    {"v":1030,"f":null}, 
    {"v":null,"f":null}, 
"p":null 
} 

我找不到有關C#創建JSON容易的例子。請幫幫我。

謝謝。

+0

不是dublicate我想動態創建此代碼。 – 2012-07-19 12:25:52

+1

動態創建它是無關緊要的......您仍將其創建爲普通POCO,然後序列化該對象。 – 2012-07-19 12:26:42

回答

2

創建它帶有屬性的普通類,然後:

var json = new JavaScriptSerializer().Serialize(myObject) 

或動態對象:

var json = new JavaScriptSerializer().Serialize(new { property = "string" }) 
+0

我想動態地創建這個 – 2012-07-19 12:24:58

+1

@AliRızaAdıyahşi:使用字典創建「動態」鍵值對,然後序列化 – Ankur 2012-07-19 12:29:31

0

那麼你可以使用DataContractJsonSerializer類到序列化對象的JavaScript對象符號(JSON)並將JSON數據反序列化爲對象。在.net 4.0中。

我希望你檢查了How to create JSON string in C#,這不是重複。

除此之外,您可以選擇使用生成RESTful Service和JSON數據的WCF服務。您可以查看這個最適合example的示例,以滿足您在WCF中的需求。

另一種方法是,如果你喜歡一些內置的庫,那麼Json.Net是codeplex上的好庫之一。

0

這個一個不錯的文章中,我會嘗試the JSON.NET library。在性能和性能方面,它具有大部分內置於.NET中的序列化器的優點。我相信微軟將會把JSON.NET庫與ASP.NET 4.5捆綁在一起。

0

看看這段代碼。

var oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
    oSerializer.MaxJsonLength = int.MaxValue; 
    string sa = oSerializer.Serialize(p); // where p is your object to serialize. 

    sa = "{ \"Result\": " + sa + " }"; 
3

Json.NET一試。我認爲它會給你你需要的東西。