rss2json:RSS(XML)からJSONに変換する方法まとめ(てかYahoo!Pipesでいいじゃん?)

いまさらかもしれないけどね。

■Perlな方法
 ・[JSON] コイツ、速いぞ! きっとFirefoxのXMLパーサが遅いんだ。 Kawa.netブログ(川崎有亮)/ウェブリブログ
 ・[JSON] xml2json.pl - XMLファイルをJSONに変換するスクリプト Kawa.netブログ(川崎有亮)/ウェブリブログ
 ・たけまる / フィードから JSON への変換方法を統一して JavaScript でラクする

■PHPな方法
 ・PHP4でXMLをJSONに変換するメモ - F.Ko-Jiの「一秒後は未来」

■公開されてるWebサービス(API)を使う
 ・XML を JSON に変換するサービス - ベータ版を公開 :: Drk7jp
 ・Feed2JSON : blog.nomadscafe.jp

国外とかあげだすとキリないのでやめますが(調べてないけど)、
APIが楽チンでいいなーと思ってしまうんだけど、個人のサーバーで運営してるところの場合、負荷とか大丈夫?ってちょっと心配な面もありますよね。

んで、とっても良い方法があった。Pipesでできるじゃないかと。

RSSからJSONに変換するYahoo!Pipes

もう同じようなPipesは存在しているかもしれないけど、作ってみた。
http://pipes.yahoo.com/yager/rss2json

普通に使ったら、入力したRSSを返すだけのRSSプロキシみたいな感じになるんだけど、PipesはJSONのアウトプットもできるから、以下のURLで呼び出してやれば良い。

http://pipes.yahoo.com/yager/rss2json?_render=json&_callback=コールバック関数&url=RSSのURL

rss2json(Yahoo!Pipes)の使い方サンプル

pipes rss2json test

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pipes rss2json test</title>
</head>

<body>

<div id="rss_viewer"></div>

<script type="text/javascript">
/**
 * show RSS from JSON (converted by Pipes)
 */
function showRSSfromJSON(json) {
  var html = '<dl>';
  for( var i=0; i<json.value.items.length; i++ ) {
    html += '<dt><a href="' + json.value.items[i].link + '">' + json.value.items[i].title + '</a></dt>';
    html += '<dd>' + json.value.items[i].description + '</dt>';
    html += '<dd><a href="' + json.value.items[i].author.uri + '">' + json.value.items[i].author.name + '</a> ' + json.value.items[i].pubDate + '</dt>';
  }
  html += '</dl>';
  document.getElementById('rss_viewer').innerHTML = html;
}
var s=document.createElement('script');
s.charset='UTF-8';
s.src='http://pipes.yahoo.com/yager/rss2json?_render=json&_callback=showRSSfromJSON&url='+encodeURIComponent('http://creazy.net/atom.xml');
document.body.appendChild(s);
</script>

</body>
</html>

ふむ、良い感じ。
Yahoo!Pipesも重い時はあるんだけど、Yahoo!だし、そうそう落ちる事はないでしょ?(知らんけど)

見ているページのHTMLソースを表示するブックマークレット(Yahoo!Pipes版)

同じカテゴリーの記事

このページの一番上に戻る
  • Facebook
  • Twitter
  • Tumblr
  • Instagram
  • miil