首頁 > 後端開發 > C++ > 如何使用 JsonConvert.DeserializeObject 將 JSON 正確反序列化為 C# POCO 類別?

如何使用 JsonConvert.DeserializeObject 將 JSON 正確反序列化為 C# POCO 類別?

Susan Sarandon
發布: 2025-01-15 11:17:48
原創
480 人瀏覽過

How to Properly Deserialize JSON to a C# POCO Class Using JsonConvert.DeserializeObject?

使用JsonConvert.DeserializeObject將JSON反序列化到C# POCO類別

問題:

嘗試使用JsonConvert.DeserializeObject將JSON資料反序列化到C# POCO類別時,由於特定屬性的反序列化不正確,會引發異常。

解答:

為了使用JsonConvert.DeserializeObject正確地將JSON反序列化到POCO類,務必確保類別中的屬性名稱與JSON資料中的屬性名稱相符。此外,可能還需要以下步驟:

  1. 使用JsonProperty屬性: 利用JsonProperty屬性指定與特定類別屬性對應的JSON屬性名稱。當JSON屬性名稱與類別屬性名稱不同時,這尤其有用。
  2. 考慮屬性類型: 驗證POCO類別中每個屬性的資料類型是否與JSON資料中的預期類型一致。例如,如果JSON資料包含數組,則POCO類別中相應的屬性應聲明為清單。

範例:

考慮以下範例,其中User類別中的Accounts屬性需要從JSON物件反序列化:

<code class="language-csharp">public class User
{
    [JsonProperty("accounts")]
    public Account Accounts { get; set; }

    // 其他User属性此处省略,以简洁起见
}

public class Account
{
    public string github { get; set; }
}</code>
登入後複製

透過使用JsonProperty屬性並將Accounts屬性宣告為特定的Account對象,反序列化將正確處理該屬性的JSON物件。

以上是如何使用 JsonConvert.DeserializeObject 將 JSON 正確反序列化為 C# POCO 類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板