Détecter les champs manquants dans la désérialisation Json.NET à l'aide de JsonConvert
Dans Json.NET, la désérialisation peut ignorer les propriétés manquantes dans les données JSON, renvoyant les valeurs par défaut au lieu de générer des erreurs. Pour corriger ce problème, assurez-vous de détecter quand la désérialisation ne parvient pas à trouver une propriété.
Le paramètre MissingMemberHandling par défaut dans Json.NET est Ignore, ce qui signifie que le sérialiseur ignore silencieusement les propriétés inconnues. Pour déclencher une exception, définissez MissingMemberHandling sur Error.
<code>JsonSerializerSettings settings = new JsonSerializerSettings(); settings.MissingMemberHandling = MissingMemberHandling.Error;</code>
Avec ce paramètre, la désérialisation lèvera une JsonSerializationException comme indiqué ci-dessous :
<code>try { var badObj = JsonConvert.DeserializeObject<myjsonobjview>(wrongData, settings); } catch (Exception ex) { // 在此处处理异常 }</myjsonobjview></code>
Cela garantit que les champs manquants dans les objets désérialisés sont détectés et marqués, permettant ainsi de gérer correctement les exceptions et de maintenir l'intégrité des données.
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!