我正在使用返回错误 mime 类型的 API,它以 text/html 而不是 application/json 的形式出现。
一些响应是 application/json 所以我知道问题是由于 mime 类型。
但是对于 text/html(返回具有错误 mime 类型的有效 json),httparty 只会将其解析为字符串而不是哈希。
有没有办法将此字符串解析为哈希?
我试过使用require 'json'
,但使用JSON.parse
出现意外的键错误。
如果您使用 HTTParty 扩展一个类,请尝试添加
format :json
到班级
还要确保您正在解析响应的正文而不是响应对象。
JSON.parse(get(self.class.get("some_url","some_params").body)
如果没有代码或 API URL,我只能猜测。也许 API 可以以多种方式响应,您需要适当的 Accept 标头。
class Foo
include HTTParty
headers 'Accept' => 'application/json'
end