只有在包含参数的情况下,Rails才会呈现Json

时间:2012-08-01 15:59:05

标签: ruby-on-rails ruby regex api

我正在玩Groupon API。使用rails,我如何仅显示包含用户设置的某些参数的Json结果。

例如,如果用户只想查看其中包含“跳水”的交易。或者更简单的例子是,仅当valid_deal:true。

3 个答案:

答案 0 :(得分:2)

  1. 解析Json,这会产生一个哈希或数组对象
  2. 使用上述哈希中的结果创建一个新对象。如果你想保留大部分结果而只想删除一些结果,你可以删除同一个对象的一些元素。
  3. 在第2步中创建为json
  4. 的对象

答案 1 :(得分:0)

您是否设法从API获取json对象?

要将json解析为更有用的哈希,请使用

deals_hash = your_json['deals']

从hash_resal = true

获取所有交易
deals_hash.select{|deal| deal['valid_deal'] == true}

你可能不得不使用“true”,具体取决于类型是否被ruby视为字符串或布尔值。

至于搜索,我会将所有交易存储在数据库中,并使用全文搜索gem,例如solr或acts_as_indexed。

答案 2 :(得分:0)

您可以根据需要解析json对象,并以散列/数组显示结果。

可以选择将参数传递给groupon Api,这将返回包含这些参数的结果。

循环遍历哈希以提取要显示的特定参数。