【问题标题】:Create Json in C# [duplicate]在 C# 中创建 Json [重复]
【发布时间】:2012-07-19 12:21:14
【问题描述】:

可能重复:
How to create JSON string in C#

我想在 mt ASP.NET MVC 应用程序中使用谷歌图表。那里没有 mvc 示例和数据表结构。我以前从未使用过 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 的简单示例。请帮帮我。

谢谢。

【问题讨论】:

  • 不重复我想动态创建此代码。
  • 动态创建它是无关紧要的......你仍然像普通 POCO 一样创建它,然后序列化对象。

标签: c# json


【解决方案1】:

试试Json.NET。我想它会给你你所需要的。

【讨论】:

    【解决方案2】:

    在代码项目上关注一篇关于此的精彩文章

    http://www.codeproject.com/Articles/78928/Create-JSON-from-C-using-JSON-Library

    【讨论】:

    • 我会尽量像你的帖子那样做。首先我应该了解Json。 Json对我来说很陌生。谢谢。
    • @AliRızaAdıyahşi..所以你必须先阅读这篇文章json.org
    【解决方案3】:

    将其创建为具有属性的普通类,然后:

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

    或动态对象:

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

    【讨论】:

    • 我想动态创建这个
    • @AliRızaAdıyahşi:使用字典创建“动态”键值对,然后序列化
    【解决方案4】:

    您可以使用 DataContractJsonSerializer 类 将对象序列化为 JavaScript 对象表示法 (JSON) 并将 JSON 数据反序列化为对象。在 .net 4.0 中。

    我希望你已经检查了How to create JSON string in C#,这不是重复。

    除此之外,您还可以选择使用生成 RESTful 服务和 JSON 数据的 WCF 服务。您可以查看这个最适合您在 WCF 中的需求的示例 example

    另一种方法是,如果您喜欢一些内置库,那么 Json.Net 是 codeplex 上的一个不错的库。

    【讨论】:

      【解决方案5】:

      我会尝试the JSON.NET library。在功能和性能方面,它具有 .NET 中内置的大多数序列化程序的优势。我相信微软会因此将 JSON.NET 库与 ASP.NET 4.5 捆绑在一起。

      【讨论】:

        【解决方案6】:

        看看这段代码。

            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 + " }";
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-16
          • 2013-03-13
          • 1970-01-01
          • 2015-03-13
          • 1970-01-01
          相关资源
          最近更新 更多