因此我正在使用的应用程序将执行大量返回json的请求,是否适合创建一个类,该类包含将返回json的每个特定请求的属性那可以转换成那个类的属性吗?
例如,假设我有2个请求,一个返回名字,姓氏和工作角色,我还有另一个返回商家名称,营业地点和商业邮政编码的请求,可以这样做:< / p>
class BusinessRetrieval {
public string BusinessLocation{ get; set; }
public string BusinessPostCode { get; set; }
}
class EmployeeRetrieval {
public string Firstname { get; set; }
public string Surname { get; set;}
public string Postcode { get; set; }
}
所以现在我有2个类来概述在请求发出后将要发回的属性,现在可以这样做了:
BusinessRetrieval business = (BusinessRetrieval)JsonConvert.DeserializeObject(businessResponse, typeof(BusinessRetrieval));
EmployeeRetrieval employee = (EmployeeRetrieval)JsonConvert.DeserializeObject(employeeResponse, typeof(EmployeeRetrieval));
我在这里问的是这样做可以吗?我打算处理很多请求(10-15),我计划为每个请求创建一个类,每个响应都会给出回复的属性,我觉得这样做会很好结构吧。
这样可以吗?
答案 0 :(得分:1)
是的,这是处理它以使您的代码类型安全的唯一合理方法。
虽然您无法将非泛型DeserializeObject
的结果强制转换为您选择的类型 - 但它会抛出异常。
而是使用DeserializeObject的通用版本:
BusinessRetrieval business = JsonConvert.DeserializeObject<BusinessRetrieval>(businessResponse);
EmployeeRetrieval employee = JsonConvert.DeserializeObject<EmployeeRetrieval>(employeeResponse);
答案 1 :(得分:0)
我认为不仅可以,我认为这是一种最佳实践,因此您可以通过任何方法传递该对象而不会出现任何问题。