我正在尝试实现一个可以提供自定义对象的层,并将它们提交给外部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#类。
答案 0 :(得分: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
中找到