Feed Formatter (JSON)
In het JsonFeeds-voorbeeld ziet u hoe u een exemplaar van een SyndicationFeed klasse in JSON-indeling (JavaScript Object Notation) serialiseert met behulp van een aangepaste SyndicationFeedFormatter en de DataContractJsonSerializer.
Architectuur van het voorbeeld
In het voorbeeld wordt een klasse geïmplementeerd JsonFeedFormatter
die wordt overgenomen van SyndicationFeedFormatter. De JsonFeedFormatter
klasse is afhankelijk van het DataContractJsonSerializer lezen en schrijven van de gegevens in JSON-indeling. Intern gebruikt de formatter een aangepaste set gegevenscontracttypen met de naam JsonSyndicationFeed
en JsonSyndicationItem
om de indeling van de JSON-gegevens te beheren die door de serializer worden geproduceerd. Deze implementatiedetails zijn verborgen voor de eindgebruiker, zodat aanroepen kunnen worden gedaan op basis van de standaard SyndicationFeed en SyndicationItem klassen.
JSON-feeds schrijven
Het schrijven van een JSON-feed kan worden uitgevoerd met behulp van de JsonFeedFormatter
(geïmplementeerd in dit voorbeeld) met de DataContractJsonSerializer code die wordt weergegeven in de volgende voorbeeldcode.
//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));
Een JSON-feed lezen
Het verkrijgen van een SyndicationFeed stroom van JSON-geformatteerde gegevens kan worden bereikt met de JsonFeedFormatter
waarden die worden weergegeven in de volgende code.
//Read in the feed using the DataContractJsonSerializer
DataContractJsonSerializer readSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));
JsonFeedFormatter formatter = readSerializer.ReadObject(stream) as JsonFeedFormatter;
SyndicationFeed feedRead = formatter.Feed;
Het voorbeeld instellen, compileren en uitvoeren
Zorg ervoor dat u de eenmalige installatieprocedure voor de Windows Communication Foundation-voorbeelden hebt uitgevoerd.
Als u de C# of Visual Basic .NET-editie van de oplossing wilt bouwen, volgt u de instructies in het bouwen van de Windows Communication Foundation-voorbeelden.
Als u het voorbeeld wilt uitvoeren in een configuratie met één of meerdere computers, volgt u de instructies in Het uitvoeren van de Windows Communication Foundation-voorbeelden.