ServiceStack.Texte comment sérialiser classe JSon
Viens de télécharger ServiceStack.Texte pour l'utiliser dans mon ASP.NET. J'ai la classe avec de nombreuses propriétés et tiens à sérialiser cinq d'entre eux(string, integer, binaire) en JSON. Quelqu'un pourrait-il poster exemple simple comment créer d'objet JSon de ma classe?
L'importation de noter que si vous avez besoin d'
using ServiceStack;
dans vos importations, la ToJson
méthode nécessite non seulement une ref à ServiceStack mais nécessite également une référence à ServiceStack.Texte dans votre projet.
OriginalL'auteur Tomas | 2011-09-05
Vous devez vous connecter pour publier un commentaire.
ServiceStack sera désérialiser toutes les propriétés publiques de un POCO par défaut.
Si vous ne souhaitez sérialiser juste un peu de propriétés, alors vous voulez décorer votre classe avec [DataContract], [DataMember] attributs (de la même manière que vous le feriez si vous étiez à l'aide de MS DataContractJsonSerializer), l'e.g:
Ensuite, vous pouvez utiliser la statique des méthodes d'utilitaire sur JsonSerializer à (De)sérialiser, ou la plus laconique méthodes d'extension, l'e.g:
Edit:
@Noé mentionne (de commentaires), vous pouvez également utiliser le bouton [IgnoreDataMember] attribut d'exclure une seule propriété.
[IgnoreDataMember]
, MAIS vous ne devriez PAS décorer la classe avec[DataContract]
dans ce cas, ou il ne fonctionnera pas comme prévu. J'ai juste fait cette avec ServiceStack sur un projet, et il était heureux de voir que ça a fonctionné.Et note: sérialiser/désérialiser tous les publics >propriétés<, qui ne comprennent PAS >les champs<.
À droite, vous devez définir
JsConfig.IncludePublicFields = true;
pour sérialiser des champs publics, voir: stackoverflow.com/a/15372520/85785OriginalL'auteur mythz
Vous pouvez utiliser le
[Serializable()]
attribut sur votre classe personnalisée, puis:Ignorer certaines propriétés de l'objet vous êtes à la sérialisation, il suffit de placer le
[NonSerialized]
attribure sur eux.Mise à jour:
Étant donné que vous souhaitez utiliser ServiceStack faire votre sérialisation, la ServiceStack site web donne l'exemple suivant:
Source: http://www.servicestack.net/mythz_blog/?p=344
Si vous êtes particulièrement intéressé par ServiceStack.Texte alors qu'est-ce qui vous empêche de télécharger leurs exemple de projet et d'avoir un look?
Le ServiceStack site vous montre même comment l'utiliser: servicestack.net/mythz_blog/?p=344
J'ai déjà cherché sur leur site web et trouvé d'exemple de ce à quoi vous vous référez. Je ne veux pas sérialiser l'ensemble de la classe, je veux sélectionner les propriétés à sérialiser et de construire mon propre objet JSon avec ServiceStack.Texte.
OriginalL'auteur Jamie Dixon
servicestack du test prouve qu'en fournissant les
[DataContract]
et[DataMember]
attribut permet de déterminer qui est sérialisé et qui ne l'est pas.Test: https://github.com/ServiceStack/ServiceStack.Text/blob/master/tests/ServiceStack.Text.Tests/DataContractTests.cs
objets en test: https://github.com/ServiceStack/ServiceStack.Text/blob/master/tests/ServiceStack.Text.Tests/Support/DdnDtos.cs
OriginalL'auteur KLC