首頁 >後端開發 >C++ >如何使用 Json.net 反序列化結構不符的 JSON 物件陣列?

如何使用 Json.net 反序列化結構不符的 JSON 物件陣列?

DDD
DDD原創
2025-01-05 08:28:38563瀏覽

How to Deserialize a JSON Object Array with Mismatched Structure Using Json.net?

使用 Json.net 序列化 JSON 物件陣列

人們可能會遇到所需 JSON 結構與預期格式略有不同的情況。這個問題出現在JSON 物件陣列的特定情況下,例如,如下所示:

[
   {
      "customer":{
         ...
      }
   },
   {
      "customer":{
         ...
      }
   }
]

不幸的是,Json.net 需要一個更傳統的結構,如下所示:

{
    "customer": {
        ...
    }
}

因此,我們如何調和這種不一致?

解決方案在於建立一個與實際情況相符的自訂模型JSON 結構。透過定義CustomerJson 和Customer 等類,我們可以將JSON 屬性對應到特定欄位:

public class CustomerJson
{
    [JsonProperty("customer")]
    public Customer Customer { get; set; }
}

public class Customer
{
    [JsonProperty("first_name")]
    public string Firstname { get; set; }

    [JsonProperty("last_name")]
    public string Lastname { get; set; }

    ...
}

使用此自訂模型,我們可以使用以下方法輕鬆反序列化提供的JSON:

JsonConvert.DeserializeObject<List<CustomerJson>>(json);

最後,有關JSON 序列化和反序列化的全面信息,請參閱官方文檔。

以上是如何使用 Json.net 反序列化結構不符的 JSON 物件陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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