【发布时间】:2019-06-21 06:34:45
【问题描述】:
我们正在使用一个外部 API,它使用对象名称“数据”返回其结果。这个“数据”可以表示两个不同的对象——一个是 json 对象数组的形式,另一个是单个 json 对象的形式。
我创建了两个单独的 c# 类,它们代表 JSON 对象数据和 ac# 根对象类,用于在使用 JsonConvert.DeserializeObject 进行转换时捕获 JSON 对象...如何在 C# 中正确表示这些对象,请参阅结果示例如下:
以下是 1 个结果 API 调用的示例
{
success:true,
Data:[{id:1,name:"Paul"},{id:2,name:"neville"},{id:3,name:"jason"}]
}
public class User
{
public int id { get; set; }
public string name { get; set; }
}
public class ApiResponse
{
public bool success { get; set; }
public List<User> Data { get; set; }
}
下面是生成的 API 调用示例 2
{
success:true,
Data:{id:1,classSize:30,minAge:25, maxAge:65}
}
public class AgeClass
{
public int id { get; set; }
public int classSize { get; set; }
public int minAge { get; set; }
public int maxAge { get; set; }
}
public class ApiResponse
{
public bool success { get; set; }
public AgeClass Data { get; set; }
}
我将如何构造 ApiResponse 类来满足返回的通用“数据”对象 json 字符串的需求 - 以便我可以使用通用的“JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync(), Settings);”
【问题讨论】:
-
我面临的问题是我想要 1 个具有通用属性“数据”的 ApiResponse 类,可以满足 API 调用返回的两个结果