2010-05-27 5 views
4

Я только начинаю баловать себя использованием веб-сервиса JSON, и у меня есть небольшая проблема с разработкой наилучшего способа добраться до фактических элементов данных.Как анализировать данные с объекта JSON?

Я получаю ответ, который был преобразован в хэш-код Ruby с использованием метода JSON.parse. Хэш выглядит следующим образом:

{"response"=>{"code"=>2002, "payload"=>{"topic"=>[{"name"=>"Topic Name", "url"=>"http://www.something.com/topic", "hero_image"=>{"image_id"=>"05rfbwV0Nggp8", "hero_image_id"=>"0d600BZ7MZgLJ", "hero_image_url"=>"http://img.something.com/imageserve/0d600BZ7MZgLJ/60x60.jpg"}, "type"=>"PERSON", "search_score"=>10.0, "topic_id"=>"0eG10W4e3Aapo"}]}, "message"=>"Success"}} 

То, что я хотел бы знать, что это самый простой способ получить доступ к данным «теме», так что я могу сделать что-то вроде:

topic.name = json_resp.name 
topic.img = jsob_resp.hero_image_url 
etc 

ответ

7

Вы можете используйте Hashie's Mash. Один из best twitter clients для рубинов использует его, и полученный интерфейс очень чист и прост в использовании. Я обернул Delicious rss api с помощью менее чем 60 строк.

Как обычно, specs показать очень четко, как его использовать.

+1

Mash Rocks !!!! Отсортировано за 2 минуты. Спасибо, Дэниэл. – Leddo

+1

Клиент Twitter больше не использует драгоценный камень Hashie, однако он по-прежнему является отличным выбором для требований OP. – Jurgen

Смежные вопросы