我从 wincp1251 中的服务器获得响应,restkit 将 nil 返回到我的映射对象字符串。我知道restKit在RKClient中有一个属性defaultHTTPEncoding(https://github.com/RestKit/RestKit/commit/0ead8a922219ec42ec6dae6ebe59139a1fd589ae),我该如何使用它,它可以帮助我吗?
问问题
127 次
1 回答
0
我假设您的服务器正在返回 JSON。如果是这种情况,则需要更新服务器,因为它不符合JSON 规范。具体来说:
编码
JSON 文本应以 Unicode 编码。默认编码为 UTF-8。
需要注意的重要一点是 RestKit 不会将响应解压缩为字符串,因为 JSON 反序列化需要一个数据对象 ( NSJSONSerialization
)。再次,规范指出:
数据必须采用 JSON 规范中列出的 5 种支持的编码之一:UTF-8、UTF-16LE、UTF-16BE、UTF-32LE、UTF-32BE。数据可能有也可能没有 BOM。用于解析的最有效编码是 UTF-8,因此如果您可以选择对传递给此方法的数据进行编码,请使用 UTF-8。
所以要处理你的服务器响应,如果你不能改变它,你需要自己处理下载,将数据转换为适当的编码,解压 JSON,然后创建一个映射操作来使用它。
于 2016-04-07T08:26:51.480 回答