Schöner Syndizieren mit JSON
RSS kann sicherlich als der Standard angesehen werden, wenn es darum geht, Blog-Inhalte zu aggregieren und auszutauschen. Mit der JavaScript Object Notation (JSON) könnte jedoch in Zukunft eine interessante Alternative entstehen - und zwar vor allem dort, wo es darum geht, schnell und unproblematisch fremde Inhalte in die eigene Website einzubinden. Dank JSON ist man nämlich davon befreit, die RSS/XML-Daten zu konvertieren, bevor sie in die eigene Web-Seite passen.
Der Social Bookmarks Service del.icio.us macht vor, wie es funktioniert.
<script type="text/javascript" src="http://URL"></script>
<script type="text/javascript">
function showImage(img){
return (function(){ img.style.display='inline' })
}
var ul = document.createElement('ul')
for (var i=0, post; post = Delicious.posts[i]; i++) {
var li = document.createElement('li')
var a = document.createElement('a')
var br = document.createElement('br')
a.style.marginLeft = '20px'
a.style.color = '#258'
a.style.textDecoration = 'none'
var img = document.createElement('img')
img.style.position = 'absolute'
img.style.display = 'none'
img.height = img.width = 16
img.src = post.u.split('/').splice(0,3).join('/')+'/favicon.ico'
img.onload = showImage(img);
a.setAttribute('href', post.u)
a.appendChild(document.createTextNode(post.d))
li.appendChild(img)
li.appendChild(a)
li.appendChild(document.createTextNode(' - ' + post.n))
ul.appendChild(li)
}
document.getElementById('container').appendChild(ul)
</script>
Der obenstehende JavaScript-Quelltext erzeugt eine Liste, die immer aktuell einen Bookmark-Feed bei del.icio.us wiedergibt. Anstelle von http://URL muss hier natürlich eine gültige URL stehen, also z.B. http://del.icio.us/feeds/json/perlkochbuch?count=5 für meinen eigenen Feed. Der Parameter count steuert die Anzahl der zurückgegeben Bookmarks.
Das Ergebnis sieht anschließend so aus:
Wen diese ganze Sache übrigens an AJAX erinnert, der liegt durchaus nicht falsch. Der einzige Unterschied besteht im wesentlichen darin, dass AJAX ein XML-Fragment in eine bestehende HTML-Seite einfügt - JSON nutz im Unterschied dazu eine Art standardisierte JavaScript-Datenstruktur. Was man sich darunter vorstellen muss, sieht man hier

Kommentare: