RESTで結果の出力がXML形式のウェブサービスの出力をJSONで受け取りたい。 Catalystのサイトの場合、LWP::Simple、XML::Simple、Catalsyt::View::JSONという3つの組み合わせで簡単にできる。まずはViewを作る。
$ ./script/myapp_create.pl view JSON JSON
Controllerで以下のようにウェブサービスを叩いてJSONで出力。あとはブラウザ側でごにょごにょと。
use LWP::Simple;
use XML::Simple;
sub hoge : Local{
my ($self,$c) = @_;
my $url = 'http://serviceurl&Keywords=' . $c->req->params->{keyword};
my $content = get($url);
my $ref = XMLin($content);
$c->stash->{hoge} = $ref;
$c->forward('View::JSON');
}

