Share via


Feedformatierung (JSON)

In diesem Beispiel wird veranschaulicht, wie eine Instanz einer SyndicationFeed-Klasse im JSON-Format (JavaScript Object Notation) unter Verwendung eines benutzerdefinierten SyndicationFeedFormatter und des DataContractJsonSerializer serialisiert wird.

Tipp

Zum Erstellen und Ausführen dieses Beispiels muss .NET Framework, Version 3.5 installiert sein. Zum Öffnen des Projekts und der Projektmappendateien ist Visual Studio 2008 erforderlich.

Architektur des Beispiels

Das Beispiel implementiert eine Klasse namens JsonFeedFormatter, die von SyndicationFeedFormatter erbt. Die JsonFeedFormatter-Klasse verwendet den DataContractJsonSerializer, um die Daten in JSON-Format zu lesen und zu schreiben. Intern verwendet der Formatierer einen benutzerdefinierten Satz von Datenvertragstypen namens JsonSyndicationFeed und JsonSyndicationItem, um das Format der JSON-Daten zu überwachen, die vom Serialisierungsprogramm erstellt wurden. Diese Implementierungsdetails sind für den Endbenutzer verborgen, sodass Aufrufe mit den SyndicationFeed- und SyndicationItem-Standardklassen vorgenommen werden können.

Schreiben von JSON-Feeds

Ein JSON-Feed kann mithilfe des JsonFeedFormatter (implementiert in diesem Beispiel) und des DataContractJsonSerializer geschrieben werden, wie im folgenden Beispielcode dargestellt.

//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));

Lesen eines JSON-Feeds

Das Abrufen eines SyndicationFeed aus einem Stream von JSON-formatierten Daten kann mithilfe des JsonFeedFormatter erfolgen, wie im folgenden Code dargestellt.

//Read in the feed using the DataContractJsonSerializer

DataContractJsonSerializer readSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));

JsonFeedFormatter formatter = readSerializer.ReadObject(stream) as JsonFeedFormatter;

SyndicationFeed feedRead = formatter.Feed;

So richten Sie das Beispiel ein, erstellen es und führen es aus

  1. Vergewissern Sie sich, dass Sie die Beispiele zum einmaligen Setupverfahren für Windows Communication Foundation ausgeführt haben.

  2. Zum Erstellen der C#- oder Visual Basic .NET-Edition der Projektmappe befolgen Sie die unter Erstellen der Windows Communication Foundation-Beispiele aufgeführten Anweisungen.

  3. Wenn Sie das Beispiel in einer Konfiguration mit einem einzigen Computer oder computerübergreifend ausführen möchten, befolgen Sie die unter Durchführen der Windows Communication Foundation-Beispiele aufgeführten Anweisungen.

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.