Çoğu web sitesi hala RSS kayıtlarını arka planda XML olarak tutyor. Yahoo Pipe’ları bize RSS/XML kaynaklarını JSON a dönüştürülmüş halde sunuyor. Bunun için aşağıdaki adrese istenilen sitenin sayfa url’sini ekleyip yolluyoruz.
http://pipes.yahoo.com/pipes/9oyONQzA2xGOkM4FqGIyXQ/run?&_render=JSON&_callback=piper&feed=
Yapacağımız işlem çok karışıkmış gibi gözükse de aslında bu işlemi yapmak için sadece iki adet kısa içerikli json function oluşturuyoruz.
Örnek uygulamamıza başlayalım;
| 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | | 11 | | 12 | | 13 | | 14 | | 15 | | 16 | | 17 | | 18 | | 19 | | 20 | | 21 | | 22 | | 23 | | 24 | | 25 | | 26 | | 27 | | 28 | | 29 | | 30 | | 31 | | 32 | | 33 | | 34 | | 35 | | 36 | | 37 | | 38 | | 39 | | 40 | | 41 | | 42 | | 43 | | 44 | | 45 | | 46 | | 47 | | 48 | | 49 | | 50 | | 51 | | 52 | | 53 | | 54 | | 55 | | 56 | | 57 | | 58 | | 59 | | 60 | | 61 | | 62 | | 63 | | 64 | | 65 | | 66 | | 67 | | 68 | | 69 | | 70 | | 71 | | 72 | | 73 | | 74 | | 75 |
|
| <%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”yahoopipe.aspx.cs” Inherits=”yahoopipe” %>
| |
| | <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
| |
| | <html xmlns=”http://www.w3.org/1999/xhtml”>
| |
| | <head runat=”server”>
| |
| | <title></title>
| |
| | <script type=”text/javascript” src=”http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js”></script>
| |
| | <script type=”text/javascript”>
| |
| | function loadJSON(url) {
| |
| | //kullanacağımız yahoo pipe adresini ekliyoruz
| |
| | var yahooPipe = ‘http://pipes.yahoo.com/pipes/9oyONQzA2xGOkM4FqGIyXQ/run?&_render=JSON&_callback=processJSON&feed=’;
| |
| | var headID = document.getElementsByTagName(“head”)[0];
| |
| | var newScript = document.createElement(‘script’);
| |
| | newScript.type = ‘text/javascript’;
| |
| | newScript.src = yahooPipe + url;
| |
| | headID.appendChild(newScript);
| |
| | // newScript değerini headID’ nin alt elemanı olarak atadık
| |
| | }
| |
| |
| | function processJSON(feed) {
| |
| | // yahoo dan dönülen değeri feed ismi altında aldık
| |
| | document.writeln(feed.value.title + ‘<BR>’);
| |
| | // document . write kullanarak yazıcağımız değerleri html kodu içine alıyoruz
| |
| | for (i = 0; i < feed.value.items.length; i++) {
| |
| | document.write(“<a href=’” + feed.value.items[i].link + “‘>”);
| |
| | document.writeln(feed.value.items[i].title + “</a><BR>”);
| |
| | }
| |
| | }
| |
| | loadJSON(‘http://etravelideas.wordpress.com/feed/’);
| |
| | // kullanmak istediğimiz adresi loadJSON fonksiyonuna gönderiyoruz bu değer yahooPipe a gönderilecek
| |
| | </script>
| |
| | </head>
| |
| | <body>
| |
| | <form id=”form1″ runat=”server”>
| |
| | <div>
| |
| |
| | </div>
| |
| | </form>
| |
| | </body>
| |
| | </html> |
|
Örnek uygulamamızı çalıştırdığımız zaman asp sayfamız belirlediğimiz adresteki bilgileri yahoo Pipe ile json edilmiş olarak geri dönecek ilk url mizin içindeki ” render=JSON&_callback=processJSON= ” satırı geri dönülen değerin json formatında olacağını ve javascriptimize geri dönülen değeri processJSON fonksiyonuna yollamasını söylüyor.