2012-07-19 40 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一试。我认为它会给你你需要的东西。