【问题标题】:Abstracting communication with an API in JSON C#在 JSON C# 中抽象与 API 的通信
【发布时间】:2013-12-14 15:44:08
【问题描述】:

我正在尝试实现一个层,我可以提供自定义对象并将它们提交给外部 API。这个想法是创建一个对象,然后将其传递给某种数据管理器以序列化对象并将其发送到外部 API。

我猜我可以通过循环类的字段来实现某种基本的序列化:

Type classType = typeof(TestClass);
foreach(FieldInfo field in classType.GetFields(BindingFlags.Public | BindingFlags.Instance))
{
Console.WriteLine(field.Name);
}

是否有更好的方法来处理破坏要作为 JSON 发送到 API 的对象?最终目标是能够通过 GET 请求接收返回的对象,并通过 json.net 之类的东西将其转换为 C# 类。

【问题讨论】:

  • 你基本上是在问能不能直接把一个对象转成JSON?

标签: c# json api


【解决方案1】:

看看Newtonsoft's JSON library。有了它,您可以执行以下操作:

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"
//  ]
//}

Nuget也可以使用

【讨论】:

  • 我们实际上已经在使用这个库,只是我没有正确阅读文档 - 感谢您为我指出!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
  • 1970-01-01
  • 1970-01-01
  • 2013-06-02
相关资源
最近更新 更多