首頁 >後端開發 >C++ >如何使用 Json.net 反序列化包含單屬性物件的 JSON 物件陣列?

如何使用 Json.net 反序列化包含單屬性物件的 JSON 物件陣列?

Barbara Streisand
Barbara Streisand原創
2025-01-05 19:22:40511瀏覽

How Can I Deserialize JSON Object Arrays Containing Single-Property Objects with Json.net?

使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn