Данные в ответ выглядят как JSONP, довольно старый метод выполнения rpc.Вместо того, чтобы возвращать простой JSON, он выводит some_js_callback_function_name({here_goes: the_json})
, обычно есть также параметр, который управляет именем функции.
Чтобы получить json из него - обрежьте вызов функции перед анализом:
json_data = res.body.gsub(/\A[^(]+\(/, '').gsub(/\)\s*\z/, '')
json = JSON.parse(json_data)