On peut rencontrer une situation dans laquelle une structure JSON souhaitée diffère légèrement du format attendu. Ce problème se pose par exemple dans le cas spécifique d'un tableau d'objets JSON, comme indiqué ci-dessous :
[ { "customer":{ ... } }, { "customer":{ ... } } ]
Malheureusement, Json.net s'attend à une structure plus conventionnelle comme celle-ci :
{ "customer": { ... } }
Par conséquent, comment concilier cette incohérence ?
La solution réside dans la création d'un modèle personnalisé qui s'aligne sur la structure JSON réelle. En définissant des classes comme CustomerJson et Customer, nous pouvons mapper les propriétés JSON à des champs spécifiques :
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; } ... }
Avec ce modèle personnalisé, nous pouvons sans effort désérialiser le JSON fourni en utilisant :
JsonConvert.DeserializeObject<List<CustomerJson>>(json);
Enfin, pour des informations complètes sur la sérialisation et la désérialisation JSON, reportez-vous à la documentation officielle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!