2010-05-27 108 views
4

我刚刚开始涉足使用JSON Web服务,并且在处理实际数据元素的最佳方法时遇到了一些问题。如何从JSON对象解析数据?

我收到一个响应,该响应已使用JSON.parse方法转换为Ruby哈希。哈希是这样的:

{"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

你可以使用HashieMash。其中一个用于红宝石的best twitter clients使用它,由此产生的界面非常干净且易于使用。我在60行以内包装了Delicious rss api。

通常,specs显示如何使用它。

+1

Mash Rocks !!!!在2分钟内排序。谢谢丹尼尔。 – Leddo 2010-05-28 15:10:14

+1

Twitter客户端不再使用Hashie宝石,但它仍然是OP需求的绝佳选择。 – Jurgen 2013-05-24 14:10:34