2012-07-15 82 views
1

我試圖解析movies.io上的種子列表的注入數據(例如,here)。散列數組並向其添加值

我需要解析整個torrent數組,並將其放入一個散列數組(它已經具有此結構到注入的代碼中),以便輕鬆使用它。但我似乎無法找到如何做到這一點。我可以用gsub刪除&quote;和&!但是,這就是我現在所擁有的。

的數據我recolt應該是這樣的:

[ 
    {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} 
    ] 
+0

我嘗試直接添加這些像的陣列= [],然後將數據追加到它,或給哈希(I可以通過自己與多個散列工作),但我得到這樣 的SyntaxError錯誤(irb):2:syntax error,unexpected tCONSTANT,expected'}' ... 5EA6203ACE218E830395AE61427EDBD,name:Star Wars Episode IV ... ...^ (irb):2:語法錯誤,意外的tINTEGER,期待$ end ... isode IV新希望1977 1080p Bluray x264 anoXmous} ...^ \t from /Users/****/.rvm/rubies/ruby-1.9.3-p0/bin/irb :16:在'

' – Simon 2012-07-15 21:03:53

+0

那麼你有unquo在那裏紮根弦。特別是「名稱」鍵的值。 – 2012-07-15 21:08:09

+0

這就是我得到的原始數據(在gsub之後)。你看到一個簡單的方法來引用這些值嗎? – Simon 2012-07-15 21:18:57

回答

1

所以發生了什麼事是:data-injected屬性你刮其實只是JSON,但它在HTML編碼。在瀏覽器解析之後,它就像普通的JSON一樣在DOM中。

事實上,你可以很容易地看到它是如何通過看腳本在Chrome的JavaScript控制檯,然後單擊漂亮的打印爲了保持你的理智處理。您會看到它將屬性分配給f,然後在f ? u($.parseJSON(f)) : ...中使用它。

由於您大概使用了HTML解析器,我認爲您可能在某處有真正的原始JSON。無論如何,系統中的某個組件需要停止取代最初提供引號的HTML實體,然後您可以將該字符串提供給JSON解析器。

+0

噢是的好吧,我不應該刪除& quot;,但gsub它是原始形式!非常感謝 ! – Simon 2012-07-15 21:56:51

+0

我想知道你是否用正則表達式解析HTML ......這當然讓我想起所有時間最好的答案:http://stackoverflow.com/a/1732454/140740 – DigitalRoss 2012-07-15 22:05:02

+0

哈哈哈,這是一個很棒的帖子! – Simon 2012-07-16 09:45:02

4

我們也有來源,如山洪,Netflix的一個適當的API端點等

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

我們正在與文檔一個真正的API的工作,但它是還沒有準備好!

+0

好吧,謝謝你,我只需要現在重寫我的代碼:P不能等待API! – Simon 2012-07-16 09:45:42