【发布时间】:2018-09-14 13:57:05
【问题描述】:
我正在使用 Ruby 中的 Faraday 发出 API 请求,并使用 JSON.parse 解析它。问题是,JSON 响应中有诸如 Longitud de la estaci\u00F3n meteorol\u00F3gica (grados) 之类的句子,但它应该是 Longitud de la estación meteorológica (grados)。
有没有办法正确解析这个?
我有connection = Faraday.new(my_site),如果我有connection.get.body.encoding,那么我会得到#<Encoding:ASCII-8BIT>,但是当我尝试connection.get.body.force_encoding('ASCII-8BIT).force_encoding('UTF-8) 或connection.get.body.force_encoding('ASCII-8BIT).encode('UTF-8) 时,我会得到'encode': "\xF3" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)。
提前非常感谢!
【问题讨论】:
-
您能否在 JSON 字符串中发布相关子字符串的 String#bytes,例如“estación”部分?我不知道“\u00F3”是一个 6 字节的 ASCII 字符串还是一个字节的 8 位字符串...
标签: ruby character-encoding faraday