【问题标题】:How do i convert C# classes into JSON version of string?如何将 C# 类转换为 JSON 版本的字符串?
【发布时间】:2016-07-13 17:32:51
【问题描述】:

我想在 Postman 中使用这个字符串来测试 Web API,我知道我可以通过使用库(例如 Newtonsoft)来进行对象序列化,但是有没有其他方法可以让我们只为 c# 类获取 JSON 字符串的骨架?

例子:

如果我有这样的 C# 类:

public class RootObject
{    
    public int ID { get; set; } 
    public string Name { get; set; }
}

我期望输出为:

{ 
   "ID": , 
   "Name" : ""
}

我可以稍后在Postman 中进行测试时编辑这些值。

【问题讨论】:

  • @warheat1990 - OP 要求的是 online 工具,而不是库。
  • 如果代码在C#中,并且在C#中运行,为什么不直接使用框架进行序列化?为什么需要在线完成这项工作??
  • 你认为这应该如何在线工作?您想将类的实例转换为 json 吗?您如何想象将这些值复制到浏览器中?
  • 我认为(JSON 不是我的强项)这将具有挑战性。当 JSON 被序列化时,它需要一个对象的实例,该对象具有要序列化的结构和数据。这就像试图序列化一个接口。

标签: c# json asp.net-web-api converter


【解决方案1】:

我假设您正在寻找类似 Json.NET 的东西:http://james.newtonking.com/json

它允许您执行以下操作:

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };

string json = JsonConvert.SerializeObject(product);
//{
//  "Name": "Apple",
//  "Expiry": "2008-12-28T00:00:00",
//  "Sizes": [
//    "Small"
//  ]
//}

【讨论】:

  • OP 正在寻找在线解决方案,而不是库。
  • 是的,我刚刚意识到这一点。虽然我不确定他是否知道他在要求什么。当他真正想要什么变得明显时,我会删除答案。
  • @Tim,我有大量的 C# 类列表,其中包含很多属性,我希望每个类的 JSON 版本在 Postman 中用于测试,我可以编写程序来序列化并从中获取 JSON 字符串在那里,但是当一个类发生变化时,我必须再次为 JSON 字符串运行该工具,相反,如果有任何类似 json2csharp.com 的在线工具,它将非常方便。注意:在线工具意味着它只是给你一个 JSON 版本的骨架,以后你可以在 Postman 中添加值
【解决方案2】:
//The Following function will Take the Class object as an Argument and return the JSON obect as String, 
    //Please use the following namespace 
using System.Web.Script.Serialization;

    public string ConvertObjecttoJSON(object clsobj)
    {

        System.Web.Script.Serialization.JavaScriptSerializer serializer =
              new System.Web.Script.Serialization.JavaScriptSerializer();


        string jsonString = serializer.Serialize(clsobj); 
        Console.WriteLine(jsonString);
        return jsonString;

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    相关资源
    最近更新 更多