散列数组并向其添加值

时间:2012-07-15 20:53:16

标签: ruby arrays parsing hash

我正在尝试解析movies.io上种子列表的注入数据(例如,here)。

我需要解析整个torrent数组并将其放入一个哈希数组(它已经将这个结构放入注入的代码中),以便轻松使用它。但我似乎无法找到如何做到这一点。我可以删除“e;和& with gsub!但是,这就是我现在所拥有的。”

我重新发布的数据如下所示:

  [
    {id: 18210, sha1: 13BB6A6F65EA6203ACE218E830395AE61427EDBD, name: Star Wars Episode IV A New   Hope 1977 1080p Bluray x264 anoXmous},
    {id: 3701, sha1: D3F3C5C237299B2B9F4EC84B7F46F6E9E0424574, name: Star Wars Episode IV A New Hope 1977 720p BRRiP XViD AC3 - IMAGi}
  ]

2 个答案:

答案 0 :(得分:4)

我们还为诸如种子,netflix等来源提供了适当的API端点。

例如,http://movies.io/m/1R/sources.json

我们正在开发一个带有文档的真实API,但它还没有准备好!

答案 1 :(得分:1)

所以正在发生的事情是:您正在抓取的data-injected属性实际上只是JSON,但它是用HTML编码的。在浏览器解析之后,它就像普通的JSON一样在DOM中。

事实上,您可以通过在Chrome JavaScript控制台中查看脚本,然后点击漂亮打印轻松查看其处理方式,以保持理智。您会看到它将属性分配给f,然后将其与f ? u($.parseJSON(f)) : ...一起使用。

由于您可能正在使用HTML解析器,我认为您可能在某处拥有真正的原始JSON。在任何情况下,系统中的某些组件都需要停止替换最初提供引号的HTML实体,然后您可以将字符串提供给JSON解析器。