Créer un comportement sur séquentiel sur le dos personnalisé dans newtonsoft.json peut être réalisé par des attributs et des convertisseurs personnalisés. Cela vous permet de cartographier les sous-attributs de l'objet JSON aux attributs simples de la classe C #, même s'ils n'ont pas l'objet correspondant.
Utilisez la méthode auxiliaire
Si vous n'avez besoin que d'un attribut supplémentaire, une méthode simple consiste à résoudre votre JSON en tant que travail, remplissez votre classe avec ToObject (), puis utilisez SelectToken () pour extraire les attributs supplémentaires. Par exemple:
Créer un JSONConverter personnalisé
string json = @" { ""name"" : ""Joe Shmoe"", ""age"" : 26, ""picture"": { ""id"": 123456, ""data"": { ""type"": ""jpg"", ""url"": ""http://www.someplace.com/mypicture.jpg"" } } }"; JObject jo = JObject.Parse(json); Person p = jo.ToObject<Person>(); p.ProfilePicture = (string)jo.SelectToken("picture.data.url");
Pour des solutions plus compliquées, vous pouvez créer un converteur JSON personnalisé qui utilise la technologie ci-dessus pour traiter tous les attributs marqués d'attributs JSONProperty. JSONConver peut utiliser la réflexion pour trouver des attributs, les mapper sur le chemin JSON correct et remplir les attributs en conséquence.
<联> Le convertisseur personnalisé associé
class JsonPathConverter : JsonConverter { // ReadJson 实现在此处... }
Après avoir utilisé ces attributs, vous pouvez dériver JSON comme d'habitude et le mappage se produira automatiquement.
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!