0

HTTParty を使用して Flickr API を呼び出しています。私は応答を受け取りますが、それはエスケープされています。プレーンでシンプルなjsonを取得するにはどうすればよいですか?>

class Flickr

  require 'httparty'
  include HTTParty

  API_KEY         = '2e18b933c285b552701e7c6f5bff3aee'
  SECRET          = '88123767bb4492b2'
  USER_ID         = '57951266@N03'
  RESPONSE_FORMAT = 'json'
  base_uri          'http://api.flickr.com'

  # Get list of all collections
  def self.collections_list
    response = get("/services/rest/",
      :query => {
        method:          'flickr.collections.getTree',
        api_key:         API_KEY,
        user_id:         USER_ID,
        format:          RESPONSE_FORMAT,
        nojsoncallback:  1
      }
    )

    response.body

  end

戻り値は次のとおりresponse.bodyです。有効なjsonになるのを妨げるエスケープを無効にするにはどうすればよいですか?

=> "{\"collections\":{\"collection\":[{\"id\":\"579244212-72157632934521433434033423\", \"title\":\"mysite.co.uk\", \ "description\":\"\", \"iconlarge\":\"\/images\/collection_default_l.gif\", \"iconsmall\":\"\/images\/collection_default_s.gif\", \"コレクション\":[{\"id\":\"5723456928212-72157634949706778\", \"タイトル\":\"休日\", \"説明\":\"\", \"アイコン大\":\ "\/images\/collection_default_l.gif\", \"iconsmall\":\"\/images\/collection_default_s.gif\", \"collection\":[{\"id\":\"5792364528212-7215763492346543457291 \", \"タイトル\":\"標準\", \"description\":\"\", \"iconlarge\":\"\/images\/collection_default_l.gif\", \"iconsmall\":\"\/images\/collection_default_s.gif\", \"セット\":[{\"id\":\"72157628982366181735\", \"title\":\"パリ旅行\", \"説明\":\"2008 年 5 月 11 ~ 13 日 - (Peeps)\"} , {\"id\":\"72157629097324306\", \"タイトル\":\"オハイオ\", \"説明\":\"2005 年 8 月 - (ピープス)\"}, {\"id\" :\"72157629097297760\"、\"タイトル\":\"アイスランドの休日\"、\"説明\":\"2004 年 8 月 5 ~ 16 日 - (Peeps)\"}]}、{\"id\": \"57928212-236572157629691182748\", \"タイトル\":\"1 - 旅行\", \"説明\":\"\", \"iconlarge\":\"\/images\/collection_default_l.gif\", \"iconsmall\":\"\/images\/collection_default_s.gif\", \"set\":[{\"id\": \"72157629683532365562\", \"タイトル\":\"1 日目\", \"説明\":\"\"}, {\"id\":\"72157629683246523541696\", \"タイトル\": \"2 日目\"、\"説明\":\"\"}、{\"id\":\"7215762968234563554852\"、\"タイトル\":\"3 日目\"、\"説明\" :\"\"}, {\"id\":\"7215762972346510465912\", \"タイトル\":\"4日目\", \"説明\":\"\"}, {\"id\ ":\"72157362629710474644\", \"タイトル\":\"5日目南\", \"説明\":\"\"}、{\"id\":\"7215762923564710489442\"、\"タイトル\":\"6日目\"、\"説明\":\"\"}、{\"id\":\"721576292346834618028 \", \"タイトル\":\"7日目\", \"説明\":\"\"}, {\"id\":\"721576265349834637138\", \"タイトル\":\" 8 日目\"、\"説明\":\"\"}、{\"id\":\"72157629236836419418\"、\"タイトル\":\"9 日目\"、\"説明\":\ "\"}、{\"id\":\"7215762985641123596\"、\"タイトル\":\"10 日目\"、\"説明\":\"\"}、{\"id\": \"72157629854631700916\", \"タイトル\":\"11日目と12日目\", \"説明\":\"\"}, {\"id\":\"721576223649851713058\", \"タイトル\":\"13,14 & 15 日目 -\", \"説明\":\"\"}]}, {\"id\":\ "57928212-72236157629866347760\"、\"タイトル\":\"2 - 2010 年の旅行\"、\"説明\":\"\"、\"iconlarge\":\"\/images\/collection_default_l.gif\ ", \"iconsmall\":\"\/images\/collection_default_s.gif\", \"set\":[{\"id\":\"721576292346866337538\", \"title\":\"日0 - 到着 ....\"\", \"iconlarge\":\"\/images\/collection_default_l.gif\", \"iconsmall\":\"\/images\/collection_default_s.gif\", \"set\":[ {\"id\":\"721576292346866337538\", \"title\":\"0 日目 - 到着 ....\"\", \"iconlarge\":\"\/images\/collection_default_l.gif\", \"iconsmall\":\"\/images\/collection_default_s.gif\", \"set\":[ {\"id\":\"721576292346866337538\", \"title\":\"0 日目 - 到着 ....

4

1 に答える 1

1

response.to_json適切なJSONを提供します。 JSON.parse(response.to_json)その JSON を hash/arrays/etc の ruby​​ ハッシュに変換します。

于 2013-10-28T22:58:23.467 に答える