使用Json.net 反序列化JSON 物件陣列
使用具有與預期物件不同的JSON 結構的API 時所面臨的挑戰-基於結構是常見的結構。透過遵循提供的範例,我們可以有效地反序列化這些陣列。
理解結構
所討論的 JSON 結構包含一個物件數組,每個物件包含一個物件「客戶」財產。這種獨特的格式與 Json.net 通常處理的典型的基於物件的結構有所不同。
自訂反序列化
為了解決這個差異,我們可以定義一個自訂的與提供的 JSON 結構一致的模型。透過建立嵌套類別結構,我們可以將「customer」屬性對應到 Customer 類別的實例。
實現反序列化
使用這個自訂模型,我們可以反序列化JSON 陣列如下:
var customerJsons = JsonConvert.DeserializeObject<List<CustomerJson>>(json);
應用於模型
customerJsons中的每個元素都將包含一個具有所需客戶資料的 Customer 物件。
範例:
class Customer { [JsonProperty("first_name")] public string FirstName { get; set; } [JsonProperty("last_name")] public string LastName { get; set; } } class CustomerJson { [JsonProperty("customer")] public Customer Customer { get; set; } }
利用此技術允許無縫反序列化JSON 物件數組,適應複雜的資料結構並釋放Json.net 用於處理多種JSON 格式。
以上是如何使用 Json.net 反序列化包含單屬性物件的 JSON 物件陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!