Разбирайте удаленные API (JSON и XML) с помощью Rails 3

Я кодирую приложение, которое будет извлекать данные из разных источников в Интернете через их соответствующие API (JSON и XML).

Как я могу получить эти данные (из удаленного источника) и проанализировать его с помощью Rails 3? Я искал всюду в сети для решения, но все это кажется мне слишком запутанным.

Кто-нибудь знает хороший, простой камень, который я могу использовать для удаленных API? Это было так просто в PHP.

Ответ 1

Попробуйте что-то подобное для JSON

require 'open-uri'
require 'json'

result = JSON.parse(open("url_of_json_service").read)

См. подробнее о камне JSON здесь: http://flori.github.com/json/

Попробуйте что-нибудь подобное для XML

require 'open-uri'
require 'nokogiri'

result = Nokogiri.XML(open("url_of_xml_service").read)

Узнайте больше о Nokogiri здесь: https://github.com/tenderlove/nokogiri (есть другие синтаксические анализаторы XML)

Ответ 2

Savon - это хороший камень, который будет работать на запросы SOAP (XML). Ознакомьтесь с его документацией.

Вот Railscast для лучшего понимания.

Для запросов на основе JSON вы можете проверить ответ @DanSingerman.