Как мне разобрать данные из объекта JSON? - PullRequest
4 голосов
/ 28 мая 2010

Я только начинаю ломать голову над потреблением веб-службы 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

1 Ответ

7 голосов
/ 28 мая 2010

Вы можете использовать Hashie s Mash . Один из лучших твиттер-клиентов для ruby ​​использует его, и полученный интерфейс очень чистый и простой в использовании. Я завернул его в Delicious rss api менее чем в 60 строк.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...