HTTParty返回一个字符串

时间:2012-02-29 12:06:31

标签: ruby json httparty

我使用的API返回错误的mime类型,它以text / html而不是application / json形式出现。

一些响应是application / json所以我知道问题是由于mime类型。

但是对于text / html(使用错误的mime类型返回有效的json),httparty只会将其解析为字符串而不是散列。

有没有办法将此字符串解析为哈希?

我尝试使用require 'json',但使用JSON.parse会出现意外的密钥错误。

2 个答案:

答案 0 :(得分:3)

如果您使用HTTParty扩展课程,请尝试添加

format :json

到班级

还要确保您正在解析响应的主体而不是响应对象。

JSON.parse(得到(self.class.get( “SOME_URL”, “some_params”)。体)

答案 1 :(得分:1)

没有代码或API网址,我只能猜测。也许API可以以多种方式响应,您需要相应的Accept标头。

class Foo
  include HTTParty
  headers 'Accept' => 'application/json'
end
相关问题