railsでapiをたたいて帰ってくるjsonp形式のデータをjson形式に加工したいです。
方法としてはjsonpデータの余分な文字列を空文字に置換しようと考えております。
例えばコントローラーのshowアクション内でその処理をしようとすると、変数jsonpをgsub!メソッドでjsonpデータの先頭の「if(typeof(xml)=='undefined') xml = {};xml.data」を空文字に置換しようとしても消えません。
文字を置換するために何か良い方法はございますでしょうか。
もしくは別の方法があったりするのでしょうか。
よろしくお願いします。
※railsのshowコントローラー
def show require 'net/http' require 'uri' require 'json' uri = URI.parse('http://www.ekidata.jp/api/l/11302.json') jsonp = Net::HTTP.get(uri) #NET::HTTPを利用してAPIを叩く jsonp.gsub!(/^if(typeof(xml)=='undefined')xml={};xml.data=/, '') end
※apiをたたくと帰ってくるjsonpデータ
if(typeof(xml)=='undefined') xml = {}; xml.data = {"line_cd":11302,"line_name":"JR山手線","line_lon":139.73522275686264,"line_lat":35.69302730762992,"line_zoom":12,"station_l":[{"station_cd":1130201,"station_g_cd":1130201,"station_name":"大崎","lon":139.728439,"lat":35.619772}]} if(typeof(xml.onload)=='function') xml.onload(xml.data);
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。