一些關於 json 的用法
Posted by tjwei on 星期一, 3月 19, 2007
這個又是另外一個關於網頁技術的筆記。主要在說明利用 json 的 blog mashup 玩法
目前網路上面將資料轉成 json 的方式很多,各有優缺點。
實際的使用可以參考下面是幾個簡單範例
目前網路上面將資料轉成 json 的方式很多,各有優缺點。
- 最一個方式是使用 google reader,這個很基礎,我就不多說了,可以參考DIY Google Reader 聯播網 (初階+進階)。這個用來做聯播是輕鬆如意,但是缺點是 google reader 提供的 json 只提供 summary而沒有全文。雖然 google reader 的 atom feed 有提供全文,但是似乎不吃 gdata 的 alt=json 這招。
- 第二個方式是 Yahoo! Pipes,這個一般而言還挺不錯的,還有許多程式上的優點,比方說可以做 feed 的翻譯。不過他的 replace 模組還無法做大規模的替換, feed 的翻譯會去掉格式,而且 content 裡面的原始文字格式會亂掉。
- 第三個方式是使用 feedburner, 可以用這個網址http://api.feedburner.com/format/1.0/JSONP?uri=ptt/beauty&callback=myappfn 來傳回 json。其中的 ptt/beauty 換成你的 feed, callback 也要換成你的 callback。這個方式基本上簡單清楚,feedburner 本身也提供 feedflare 等等花樣讓你來玩。
- 第四種方式是使用 openkapow 產生 json。 openkapow 基本上是網頁機器人,他可以將普通網頁轉換成為 json。這個用途就很多了,用法幾乎無限。比方說你其實可以在你的網頁中讀取「任何」一個 website 的 html 都行,只要設定一個 rest,抓取body 的 html 就行了。
- 第五種是使用內建的 json。比方支援 google data api的,或者 yahoo web 服務的,都有原生的 json 可用。
實際的使用可以參考下面是幾個簡單範例
- ptt beauty 縮圖。這個和之前寫的 自動縮圖bookmarlet 原理相同。 ptt 的板本身有提供 rss,但是格式有時後會出錯。我原來使用 google reader 和 yahoo pipes 都有問題,一個是只有 summary,一個是文字排版資訊會不見,最後使用 feedburner 才完成。
- 某日本 AV 女優部落格日翻英。這是最早的例子,所以做得不好。 這裡使用了 feedburner -> yahoo pipes 然後利用 openkapow 來翻譯。雖說是 AV 女優部落格,但是沒有什麼有色情的內容。原來打算直接 利用 yahoo pipes 做聯播和翻譯的工作,但是 yahoo 的翻譯會把格式弄不見,想要先把內文的html 做轉換,發現也會有問題,所以改用 openkapow 來進行翻譯。你會先看到日文的內容,然後自動慢慢轉換成英文。如果使用 google 翻譯時,html 格式會保留,但是 google 似乎有時會有使用限制,大量的查詢翻譯,他會停止服務。這時 openkapow 會自動改用其他翻譯引擎。這時,翻譯結果就不會保留 html 格式了。(這個範例請使用 Firefox。使用 IE 結果會不太好)(補充日翻中)
- 影集 Heores 的 Beaming Beeman blog 標題英翻中。同樣上面的日翻英,原本是想用這鏡子取代上面那個 AV女優的例子,但是在弄的時候,發現不能用太長的句子去翻譯,因為句子是放在 url 裡面的。這樣就要斷句,會產生大量的翻譯查詢,有點濫用翻譯系統。所以改成只翻譯標題。這個系統使用 blogger 的 gdata api而來產生 json,然後再利用 openkapow 來翻譯。
- Slashdot 的中文翻譯。使用 google reader 和 openkapow。
- 可愛過頭(cute overload) 和 BoinBoing 的中英對照。這兩個都是使用 feedburner +openkapow。當 google 翻譯器願意為我們工作的時候,翻譯出來的文字是圖文並茂的。當 google 不工作的時候,會中英對照。翻譯速度有時後會有點慢。(主要測試平台是 flock(mozilla/firefox 類的))
Categories: blog