2012-02-29 50 views
1

我使用的是返回錯誤的MIME類型的API,它的現身爲text/html,而不是應用程序/ JSON。HTTParty返回一個字符串

有些反應是應用/ JSON,所以我知道這個問題是由於MIME類型。

但對於text/html的(它會返回錯誤的MIME類型有效的JSON)httparty只會解析成一個字符串,而不是一個哈希這一點。

有沒有一種方法來解析這個字符串轉換成一個哈希?

我試過使用require 'json',但使用JSON.parse出現意外的關鍵錯誤。

+0

你有一個代碼示例或至少API網址? – 2012-02-29 13:36:42

回答

3

如果你正在擴大與HTTParty類嘗試添加

format :json

到類

也確保你解析響應的身體,而不是響應目的。

JSON.parse(獲得(self.class.get( 「SOME_URL」, 「some_params」)。體)

1

沒有代碼或API URL我只能猜測。也許API可以以多種方式作出反應,就需要相應的Accept頭。

class Foo 
    include HTTParty 
    headers 'Accept' => 'application/json' 
end 
+0

將它有可能httparty接受'text/html'作爲有效的json? – 2012-02-29 14:18:14