[英]Deserializing Json into objects
因此,我當前正在使用的應用程序將執行很多都返回json的請求,是否應該為每個將返回可轉換為json的特定請求創建屬性的類來創建類?該類的屬性?
例如,假設我有兩個請求,一個請求返回一個名字,一個姓氏和一個工作角色,另一個請求返回一個企業名稱,營業地點和企業郵政編碼,那么可以這樣做:
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),我計划為每個請求創建一個類,概述每個響應將返回的屬性,我覺得這將是構造請求的好方法。
這個可以嗎?
是的,這是處理代碼類型安全的唯一合理方法。 盡管您不能將非通用DeserializeObject
的結果DeserializeObject
轉換為您選擇的類型-它會引發Exception。 而是使用DeserializeObject的通用版本:
BusinessRetrieval business = JsonConvert.DeserializeObject<BusinessRetrieval>(businessResponse);
EmployeeRetrieval employee = JsonConvert.DeserializeObject<EmployeeRetrieval>(employeeResponse);
我認為這樣做不僅可以,而且我認為這是最佳做法,因此您可以通過任何方法毫無問題地傳遞該對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.