次のコードがあります。
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 から返されたすべてのもの) まで取得しているように見えます。
私は何が欠けていますか?