Comment sérialiser un objet Json structure avec des références circulaires?
J'ai une structure de l'objet comme ceci:
public class Proposal {
public List<ProposalLine> Lines { get; set; }
public string Title { get; set; }
}
public class ProposalLine {
public Proposal Proposal { get; set; } //<- Reference to parent object
}
J'essaie de sérialiser Proposition de Json, il me dit qu'il y a une référence circulaire, ce qui est correct.
Malheureusement, je ne peux pas toucher les objets, car ils sont dans un référencés DLL à partir d'un autre projet - sinon, je changerais.
Est-il un moyen pour sérialiser Json et d'ignorer la circulaire propriétés?
Vous pouvez essayer JSon.NET qui prend en charge les références circulaires.
Si vous voulez ignorer les références circulaires, vous devez définir
Si vous voulez ignorer les références circulaires, vous devez définir
ReferenceLoopHandling.Ignore
(voir: james.newtonking.com/projects/json/help/html/...)OriginalL'auteur AngryHacker | 2013-07-23
Vous devez vous connecter pour publier un commentaire.
Utiliser le Newtonsoft.Json (qui est la valeur par défaut .net sérialiseur json) et de définir
Vous pouvez également définir globalement cette variable si vous développez des applications MVC...
Dans WCF projets de la valeur par défaut est DataContractJsonSerializer.
MS n'a, en effet, utiliser plusieurs sérialiseurs. Newtonsoft est utilisé sur le Web API, mais pas sur les anciens Contrôleurs.
OriginalL'auteur MichaC