Pemformat Umpan (JSON)

Sampel JsonFeeds menunjukkan cara membuat serial instans SyndicationFeed kelas dalam format JavaScript Object Notation (JSON) dengan menggunakan kustom SyndicationFeedFormatter dan DataContractJsonSerializer.

Arsitektur Contoh

Sampel mengimplementasikan kelas bernama JsonFeedFormatter yang mewarisi dari SyndicationFeedFormatter. Kelas JsonFeedFormatter bergantung pada DataContractJsonSerializer untuk membaca dan menulis data dalam format JSON. Secara internal, pemformat menggunakan sekumpulan jenis kontrak data kustom bernama JsonSyndicationFeed dan JsonSyndicationItem untuk mengontrol format data JSON yang dihasilkan oleh serializer. Detail implementasi ini disembunyikan dari pengguna akhir, memungkinkan panggilan dilakukan terhadap kelas SyndicationFeed dan SyndicationItem standar.

Menulis umpan JSON

Menulis umpan JSON dapat dicapai dengan menggunakan JsonFeedFormatter (diimplementasikan dalam sampel ini) dengan seperti yang DataContractJsonSerializer ditunjukkan dalam kode sampel berikut.

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

Membaca umpan JSON

Mendapatkan objek dari aliran data berformat JSON dapat dilakukan dengan menggunakan kode seperti yang ditunjukkan berikut ini.

//Read in the feed using the DataContractJsonSerializer

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

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

SyndicationFeed feedRead = formatter.Feed;

Untuk menyiapkan, mengompilasi, dan menjalankan sampel

  1. Pastikan Anda telah melakukan Prosedur Penyiapan One-Time untuk Sampel Windows Communication Foundation.

  2. Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti instruksi di Membangun Sampel Windows Communication Foundation.

  3. Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi di Menjalankan Sampel Windows Communication Foundation.