1

間違ったmimeタイプを返すAPIを使用しています。これは、application/jsonではなくtext/htmlとして出力されます。

一部の応答は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

コードやAPIURLがなければ、推測することしかできません。おそらく、APIは複数の方法で応答する可能性があり、適切なAcceptヘッダーが必要です。

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