我有以下代码:
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已经返回给我的所有内容)。
我错过了什么?
答案 0 :(得分:1)
你需要将.body添加到x = Search.get('http:// ....')的末尾,如下所示:
x = Search.get('http://....').body