人們可能會遇到所需 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中文網其他相關文章!