Sérialisation dans .net
Dans .net, les formats de sérialisation courants incluent principalement json, binaire et xml, résumés dans le tableau suivant .
Retour en haut
À propos des règles d'annotation des attributs d'entité :
1, tout en .net La marque [Sérialisable] doit être ajoutée à la classe de l'entité utilisée pour la sérialisation. Sinon, il n'y aura aucun problème lors de la sérialisation json, mais une erreur sera signalée lors de l'utilisation de BinaryFormatter pour la sérialisation binaire.
2. Si elles sont appliquées dans WCF, les balises [DataContract] doivent être ajoutées aux classes de toutes les entités et [DataMember] doivent être ajoutées aux champs.
3. Lors de l'utilisation de newtonsoft.json, si [DataContract] est ajouté à la classe d'entité, [DataMember] est ajouté à certains champs, et certains champs ne sont pas ajoutés, mais ceux qui ne sont pas ajoutés doivent également l'être. inclus lors de la sérialisation. Les champs [DataMember] peuvent être résolus en ajoutant [JsonObject(MemberSerialization.OptOut)] à la classe d'entité, ce qui signifie afficher tous les champs publics.
4. Lors de l'utilisation de newtonsoft.json, System.Web.UI.WebControls.ListItem ne peut pas être sérialisé. La solution consiste à personnaliser une classe et à la marquer [Sérialisable].
Retour en haut
1. S'il s'agit du format json, NewtonSoft.Json est le plus polyvalent (peut gérer les références circulaires), bien qu'il ne soit pas le plus rapide. .
2. S'il est au format XML, utilisez le XmlSerializer fourni avec .net.
3. S'il s'agit d'un format binaire, utilisez le BinaryFormatter fourni avec .net Bien que Protobuf soit rapide, il est difficile d'ajouter le numéro de série.
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!