Feed Formatter (JSON)
Cet exemple indique comment sérialiser une instance de classe SyndicationFeed au format JSON (JavaScript Objet Notation) à l'aide d'un SyndicationFeedFormatter personnalisé et d'un DataContractJsonSerializer.
Remarque : |
---|
Cet exemple requiert l'installation de .NET Framework version 3.5 pour être généré et exécuté. Visual Studio 2008 est nécessaire pour l'ouverture des fichiers projet et solution. |
Architecture de l'exemple
L'exemple implémente une classe nommée JsonFeedFormatter
qui hérite de SyndicationFeedFormatter. La classe JsonFeedFormatter
repose sur le DataContractJsonSerializer pour lire et écrire les données au format JSON. En interne, le formateur utilise un jeu personnalisé de types de contrat de données nommé JsonSyndicationFeed
et JsonSyndicationItem
pour contrôler le format des données JSON produites par le sérialiseur. Ces détails d'implémentation sont masqués par l'utilisateur final, ce qui permet d'effectuer des appels sur les classes standard SyndicationFeed et SyndicationItem.
Écriture de flux JSON
Pour écrire un flux JSON, vous pouvez utiliser JsonFeedFormatter
(implémenté dans cet exemple) avec DataContractJsonSerializer comme illustré dans l'exemple de code suivant.
//Basic feed with sample data
SyndicationFeed feed = new SyndicationFeed("Custom JSON feed", "A Syndication extensibility sample", null);
feed.LastUpdatedTime = DateTime.Now;
feed.Items = from s in new string[] { "hello", "world" }
select new SyndicationItem()
{
Summary = SyndicationContent.CreatePlaintextContent(s)
};
//Write the feed out to a MemoryStream in JSON format
DataContractJsonSerializer writeSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));
writeSerializer.WriteObject(stream, new JsonFeedFormatter(feed));
Lecture d'un flux JSON
Pour obtenir un SyndicationFeed d'un flux de données au format JSON, vous pouvez utiliser le JsonFeedFormatter
comme illustré dans le code suivant.
//Read in the feed using the DataContractJsonSerializer
DataContractJsonSerializer readSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));
JsonFeedFormatter formatter = readSerializer.ReadObject(stream) as JsonFeedFormatter;
SyndicationFeed feedRead = formatter.Feed;
Pour configurer, générer et exécuter l'exemple
Assurez-vous d'avoir effectué la procédure figurant dans la section Procédure d'installation unique pour les exemples Windows Communication Foundation.
Pour générer l'édition C# ou Visual Basic .NET de la solution, conformez-vous aux instructions figurant dans la rubrique Génération des exemples Windows Communication Foundation.
Pour exécuter l'exemple dans une configuration à un ou plusieurs ordinateurs, conformez-vous aux instructions figurant dans la rubrique Exécution des exemples Windows Communication Foundation.
Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.