55 votes

Sérialiser enum en string

J’ai un enum:

Et une classe :

Lorsque vous sérialisez l’instance de Container en json, j’obtiens : `` (dans le cas où Action est Remove).

Je voudrais obtenir: `` (au lieu de int, j’ai besoin de to ToString forme de l’enum)

Puis-je le faire sans ajouter un autre membre à la classe ?

36voto

L.B Points 54001

À l’aide de Json.Net, vous pouvez définir une personnalisation `` comme

et sérialiser en tant que

33voto

GPR Points 411

Vous pouvez simplement ajouter l’attribut :

à la propriété enum qui n’est pas sérialisé en tant que chaîne.

ou si vous avez un formatage plus exotique à l’esprit, vous pouvez utiliser les attributs ci-dessous pour indiquer au sérialiseur JSON de sérialiser uniquement la propriété que vous avez formatée comme vous le souhaitez. Cela dépend un peu du reste de votre implémentation. Il reconnaît également l’attribut DataMember sur une propriété.

20voto

ShaTin Points 51

Voici un moyen simple de le faire :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X