Akış Biçimlendiricisi (JSON)

JsonFeeds örneği, özel bir SyndicationFeed ve SyndicationFeedFormatter kullanarak JavaScript Nesne Gösterimi (JSON) biçiminde bir DataContractJsonSerializer sınıfının örneğinin nasıl seri hale getirileceğini gösterir.

Numunenin Mimarisi

Örnek, JsonFeedFormatterden devralan adı SyndicationFeedFormatter olan bir sınıf uygular. Bu JsonFeedFormatter sınıfı, verileri JSON formatında okumak ve yazmak için DataContractJsonSerializer bağlıdır. Biçimlendirici dahili olarak, seri hale getirici tarafından üretilen JSON verilerinin biçimini denetlemek için JsonSyndicationFeed ve JsonSyndicationItem adlı özel veri sözleşmesi türleri kümesi kullanır. Bu uygulama ayrıntıları son kullanıcıdan gizlenir ve standart SyndicationFeed ve SyndicationItem sınıflara karşı çağrılar yapılmasına olanak tanır.

JSON akışları yazma

JSON akışı yazma, aşağıdaki örnek kodda gösterildiği gibi JsonFeedFormatter (bu örnekte uygulanır) ve DataContractJsonSerializer kullanılarak gerçekleştirilebilir.

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

JSON akışını okuma

JSON biçimli bir veri akışından SyndicationFeed elde etme işlemi, aşağıdaki kodda gösterildiği gibi JsonFeedFormatter ile gerçekleştirilebilir.

//Read in the feed using the DataContractJsonSerializer

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

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

SyndicationFeed feedRead = formatter.Feed;

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Windows Communication Foundation Örnekleri içinOne-Time Kurulum Yordamını yaptığınızdan emin olun.

  2. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örneklerioluşturma başlığındaki yönergeleri izleyin.

  3. Örneği tek bir makine veya makineler arası bir yapılandırmada çalıştırmak için, Windows Communication Foundation örneklerini çalıştırmayönergelerini izleyin.