ios - JSON 文件中有 É。当我从服务器上的提要下载时,无法解析返回的数据。项目中本地副本中的相同数据可以下载吗?

标签 ios swift rest download feed

从服务器 JSON feed 下载数据时,我无法解析收到的数据,因为数据具有此 É 。我正在 swift4 中运行。我在本地将数据文件复制到我的项目中,并且使用 JSONDecoder().decode 进行解析,数据结构没有问题。 我相信这与我如何创建请求对象或 session 配置有关,但我不太熟悉这个领域。 我认为它来自 charset=ISO-8859-1 不知道如何在我的请求/ session 中使用它来处理这个角色 花了很多时间在这上面不知道该去哪里查看

最佳答案

我找到了解决问题的方法。 我所需要做的就是将数据从 charset=ISO-8859-1 转换为 utf8

我根据响应返回的数据创建了一个 NSString。

让responseString = NSString(数据:数据!,编码:

String.EncodingConversionOptions.allowLossy.rawValue)

让 s = 响应字符串!作为字符串

让 d = 数据(s.utf8)

然后我能够将转换后的数据对象传递到 JSONDescoder()

现在我是编程新手,所以如果有更好的方法我可以做到这一点,我希望获得反馈,因为 String.EncodingConversionOptions.allowLossy.rawValue 只是通过反复试验。

谢谢 彼得

关于ios - JSON 文件中有 É。当我从服务器上的提要下载时,无法解析返回的数据。项目中本地副本中的相同数据可以下载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51080522/

相关文章:

ios - 将 Swift Array 转换为 NSData 会导致错误

Java Rest API 调用另一个 Rest 而不等待响应 - 在 JAX-RS 中

bash - 使用 netcat nc 创建最小的 REST Web 服务器

ios - STPopUpController 将点击的数据传递给底部表单样式 iOS

ios - 如何使用 swift 2.2 从 tableview 中删除一行

ios - 在 xcode/swift 3 中点击一个 View 到 'select' 它

Swift 下标具有不同的 getter 和 setter 签名

ruby - Rest Client 是否支持 NTLM Auth?

ios - 如何在 iOS 中使用 UIWebView 修改从 url 加载的内容?

ios - recordFetchedBlock swift 中的范围问题