次の形式の文字列を指定します(Posterous APIはこの形式で投稿を返します):
s="\\u003Cp\\u003E"
どうすればそれを実際のASCII文字に変換できs="<p>"
ますか?
OSXでは、正常に使用しましIconv.iconv('ascii', 'java', s)
たが、Herokuにデプロイすると、Iconv::IllegalSequence
例外が発生します。Herokuをデプロイするシステムはjava
エンコーダーをサポートしていないと思います。
私はHTTPartyを使用してPosterousAPIにリクエストを送信しています。curlを使用して同じリクエストを行うと、ダブルスラッシュが表示されません。
HTTParty githubページから:
応答コンテンツタイプに基づいたJSONおよびXMLのルビーハッシュへの自動解析
Posterous APIはJSON(二重スラッシュなし)を返し、HTTPartyのJSON解析は二重スラッシュを挿入します。
これは、HTTPartyを使用してリクエストを行う方法の簡単な例です。
class Posterous
include HTTParty
base_uri "http://www.posterous.com/api/2"
basic_auth "username", "password"
format :json
def get_posts
response = Posterous.get("/users/me/sites/9876/posts&api_token=1234")
# snip, see below...
end
end
明らかな情報(ユーザー名、パスワード、site_id、api_token)が有効な値に置き換えられます。
snipの時点でresponse.body
、JSON形式のRuby文字列がresponse.parsed_response
含まれ、PosterousAPIからのJSON応答を解析することによってHTTPartyが作成したRubyハッシュオブジェクトが含まれています。
どちらの場合も、などのユニコードシーケンス\u003C
はに変更されてい\\u003C
ます。