Sdílet prostřednictvím


Formátování informačního kanálu (JSON)

Ukázka JsonFeeds ukazuje, jak serializovat instanci SyndicationFeed třídy ve formátu JSON (JavaScript Object Notation) pomocí vlastního SyndicationFeedFormatter objektu a objektu DataContractJsonSerializer.

Architektura ukázky

Ukázka implementuje třídu s názvem JsonFeedFormatter , která dědí z SyndicationFeedFormatter. Třída JsonFeedFormatter spoléhá na DataContractJsonSerializer čtení a zápis dat ve formátu JSON. Interně formátovací modul používá vlastní sadu datových kontraktů pojmenovaných JsonSyndicationFeed a JsonSyndicationItem řídí formát dat JSON vytvořených serializátorem. Tyto podrobnosti implementace jsou pro koncového uživatele skryté, což umožňuje provádět volání proti standardním SyndicationFeed a SyndicationItem třídám.

Psaní informačních kanálů JSON

K vytvoření informačního kanálu JSON můžete použít JsonFeedFormatter (implementovaný v této ukázce) s DataContractJsonSerializer kódem, jak je znázorněno v následujícím ukázkovém kódu.

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

Čtení informačního kanálu JSON

SyndicationFeed Získání z datového proudu dat ve formátu JSON je možné provést pomocí následujícího kódu, jak JsonFeedFormatter je znázorněno v následujícím kódu.

//Read in the feed using the DataContractJsonSerializer

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

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

SyndicationFeed feedRead = formatter.Feed;

Nastavení, sestavení a spuštění ukázky

  1. Ujistěte se, že jste pro ukázky windows Communication Foundation provedli jednorázovou instalační proceduru.

  2. Pokud chcete sestavit edici C# nebo Visual Basic .NET řešení, postupujte podle pokynů v části Sestavení ukázek windows Communication Foundation.

  3. Pokud chcete spustit ukázku v konfiguraci s jedním nebo více počítači, postupujte podle pokynů v části Spuštění ukázek windows Communication Foundation.