KynetxアプリケーションでYahooローカル検索を使用しようとしています。
ruleset avogadro {
meta {
name "yahoo-local-ruleset"
description "use results from Yahoo local search"
author "randall bohn"
key yahoo_local "get-your-own-key"
}
dispatch { domain "example.com"}
global {
datasource local:XML <- "http://local.yahooapis.com/LocalSearchService/V3/localsearch";
}
rule add_list {
select when pageview ".*" setting ()
pre {
ds = datasource:local("?appid=#{keys:yahoo_local()}&query=pizza&zip=#{zip}&results=5");
rs = ds.pick("$..Result");
}
append("body","<ul id='my_list'></ul>");
always {
set ent:pizza rs;
}
}
rule add_results {
select when pageview ".*" setting ()
foreach ent:pizza setting pizza
pre {
title = pizza.pick("$..Title");
}
append("#my_list", "<li>#{title}</li>");
}
}
私が最終的に得たリストは
. [object Object]
そして「タイトル」は
{'$t' => 'Pizza Shop 1'}
タイトルだけを取得する方法がわかりません。元のXMLファイルの「テキストコンテンツ」が{「$t」=>「テキストコンテンツ」}に変わり、「$ t」がpick()に問題を引き起こすように見えます。