JSON анализирует ошибку пользовательского поиска Google API

У меня есть следующий код:

require 'rubygems'
require 'httparty'
require 'pp'
require 'json'

class Search
  include HTTParty
  format :json
end


x = Search.get('https://www.googleapis.com/customsearch/v1key=AI...&cx=013...=flowers&alt=json')
x = x.to_s

result = JSON.parse(x)

И каждый раз, когда я запускаю его в результатах поиска Google, я получаю следующее:

FlowerPlaces.com Delivers Fresh <b>Flowers</b> To Your Place! <br>  
Order <b>Flowers</b> Online or Call 800-411-9049 for Same Day <b>Flower</b> 
Delivery.", "cacheId"=>"v94CIDza4gQJ"}]}' (JSON::ParserError)
from /usr/local/lib/ruby/1.9.1/json/common.rb:148:in `parse'
from gg.rb:15:in `<main>'

Вот та же строка в строковой версии, которую JSON пытается разобрать:

Order <b>Flowers</b> Online or Call 800-411-9049 for Same Day <b>Flower</b> 
Delivery.\", \"cacheId\"=>\"v94CIDza4gQJ\"}]}"

Теперь я пробовал это с несколькими поисковыми запросами, и мне интересно, я делаю что-то не так? Я добавил в .to_s, потому что синтаксический анализатор json пытается преобразовать оператор HTTParty get в строку и не может, а затем выдает ошибку. Парсер JSON, похоже, доходит до конца строки (это все, что мне вернул Google), прежде чем выдает ошибку.

Что мне не хватает?


person Noah Clark    schedule 17.11.2011    source источник


Ответы (1)


Вам нужно добавить .body в конец x = Search.get('http://....') вот так:

x = Search.get('http://....').body
person Noah Clark    schedule 17.11.2011