【发布时间】:2016-04-01 00:08:41
【问题描述】:
我正在使用 koala gem 查询 Facebook。 以下查询产生一个字符串?的哈希值。例如:
@graph.get_object("search?q=holden&type=page&limit=5")
当我说哈希字符串时,结果看起来像这样:
{"name"=>"Holden", "category"=>"Cars", "id"=>"5730024897"}
{"name"=>"Holden, Massachusetts", "category"=>"City", "category_list"=>[{"id"=>"224455390913969", "name"=>"City"}], "id"=>"104015212968818"}
{"name"=>"Holden, Maine", "category"=>"City", "category_list"=>[{"id"=>"224455390913969", "name"=>"City"}], "id"=>"112517345426169"}
{"name"=>"Holden, Missouri", "category"=>"City", "category_list"=>[{"id"=>"224455390913969", "name"=>"City"}], "id"=>"107921245894576"}
{"name"=>"Holden, Louisiana", "category"=>"City", "category_list"=>[{"id"=>"224455390913969", "name"=>"City"}], "id"=>"111960155481686"}
哈希之间没有逗号,当然,有些值本身就是哈希。
尝试按原样执行JSON.parse 会产生 JSON 错误,因为它不是格式正确的 JSON。
所以我想我可以通过跟踪打开和关闭大括号来解析这个,但是在我重新发明轮子之前,可能是一个笨重的轮子,我想知道是否有一些很酷的 ruby 方法可以做到这一点。我可以以某种方式咀嚼哈希吗?还是……?
期待眼花缭乱!
【问题讨论】:
-
你能发布它返回的确切的“哈希字符串”吗?
-
@Juan Manuel Rodulfo Salcedo - 我编辑了问题以显示一些真实的 FB 输出。但是,我并不是真的想以蛮力的方式阅读这篇文章,因为它并不难。如果有一个聪明的 Ruby one-liner,我真的只是在徘徊吗?
-
API 确实返回了有效的 JSON(您可以通过直接在浏览器中调用
https://graph.facebook.com/search?q=holden&type=page&limit=5&access_token={add_a_valid_token_here}轻松确认。您使用的方法的名称是get_object- 所以我假设它确实已经返回了一个对象;意思是某种红宝石数据结构。您可能只是被用于制作该调试输出的任何方法所愚弄(?)