1

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

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

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

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

我试过使用require 'json',但使用JSON.parse出现意外的键错误。

4

2 回答 2

3

如果您使用 HTTParty 扩展一个类,请尝试添加

format :json

到班级

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

JSON.parse(get(self.class.get("some_url","some_params").body)

于 2013-09-08T23:45:14.913 回答
1

如果没有代码或 API URL,我只能猜测。也许 API 可以以多种方式响应,您需要适当的 Accept 标头。

class Foo
  include HTTParty
  headers 'Accept' => 'application/json'
end
于 2012-02-29T13:44:21.310 回答