muumoo.jp


ニュース記事検索


過去ログ 2008年01月24日 - ニュース過去ログ

ニュース過去ログ

2008/01/24 管理人日記 Yahoo! PipesでJSONのFetch Dataがパースエラーになる場合の対処法

Yahoo! Pipesで、Fetch DataモジュールにJSONデータを読ませて、「Path to item list」欄に繰り返しデータのJSONパスを渡してフィードデータとして扱うことがある。

例えばSBM bookmarks APIではURLを渡すとソーシャルブックマークの投稿の一覧が取れるけど、その中でlivedoorクリップのデータを取るためにFetch Dataを使ってる。

それが、最近このモジュールがおかしくなって、パースエラーを返すようになった。Path to item listを無指定にすると問題ないので、パースエラーってのもおかしな話だなあと思うんだけど、まあ現実にそうなってしまったので仕方ない。そのせいでSBM bookmarks APIにもlivedoorクリップのデータが含まれなくなってしまった。最近pageinfoにlivedoorクリップのデータが出なくなったのはそのため。

対処法

そこで、この件に対処できるかもしれない方法を考えた。

Fetch DataのPath to item listに「Comments」を指定している

もともとこういう状態のものを、以下のようにする。

Fetch DataのPath to item listを無指定にして、直後にSub-elementに入れてそこでitem.Commentsを指定している

こんな感じ。Fetch DataにPath to item listを指定するとダメなので消して、変わりにSub-elementでComments要素を抜き出している。

これでうまくいかないケースもあるかも

とりあえずSBM bookmarks APIはこのやり方で直ったっぽい。ただ全ての場面でこのやり方が使えるかどうかはわからない。そんなにFetch Dataは頻繁に使っていたわけではないので、思いつくテストケースが少ない。

とはいえ、Fetch DataでJSONを読ませている人は一度、ちゃんとデータが返ってるか確認してみた方がいいかも知れません。

この記事のURI:
http://muumoo.jp/news/2008/01/24/0fetchdata.html


Copyright© 2002-2007 muumoo.jp All Rights Reserved.