给定以下格式的字符串(Posterous API 以这种格式返回帖子):
s="\\u003Cp\\u003E"
如何将其转换为实际的 ascii 字符s="<p>"
?
在 OSX 上,我成功使用Iconv.iconv('ascii', 'java', s)
,但一旦部署到 Heroku,我就会收到Iconv::IllegalSequence
异常。我猜 Heroku 部署的系统不支持java
编码器。
我正在使用HTTParty向 Posterous API 发出请求。如果我使用 curl 发出相同的请求,那么我不会得到双斜杠。
来自 HTTParty github 页面:
基于响应内容类型将 JSON 和 XML 自动解析为 ruby 哈希
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
包含一个 Ruby 哈希对象,HTTParty 通过解析来自 Posterous API 的 JSON 响应创建该对象。
在这两种情况下,unicode 序列如\u003C
已更改为\\u003C
.