我使用的API返回错误的mime类型,它以text / html而不是application / json形式出现。
一些响应是application / json所以我知道问题是由于mime类型。
但是对于text / html(使用错误的mime类型返回有效的json),httparty只会将其解析为字符串而不是散列。
有没有办法将此字符串解析为哈希?
我尝试使用require 'json'
,但使用JSON.parse
会出现意外的密钥错误。
答案 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