json - 如何在swift中处理不同的JSON HTTP响应

标签 json swift http struct

例如,

我有一个 TableView 格式的类别列表(食品、娱乐、旅行)。

下一个 View 应根据前一个 View Controller 中选定的类别以 TableView 格式显示项目列表,但每个类别列表都有一组不同的 JSON 对象作为响应。

最好的方法是什么?

我可以创建一个结构变量数组,然后从 JSON Decoder 内部的数组动态提取适当的结构变量,例如 JSONDecoder().decode(structArray[0].self, data: data!) 这样吗?

我真的想避免长尾 if 语句...

如有任何帮助,我们将不胜感激...

最佳答案

我假设您在选择类别时进行 API 调用。

您可以使用 ObjectMapper 库将 JSON 映射到您想要的适当的模型对象。并且可以使用模型对象的接口(interface)来调用原语。

您还可以将 Alamofire 库与 AlamofireObjectMapper 一起使用来进行 api(JSON) 调用,该调用可以直接返回映射的对象。

对象映射器中有一个 StaticMappable 协议(protocol),它使用对象进行映射。因此,您还可以将 json(object) 内的集合(对象)映射到您自己的自定义映射类。

关于json - 如何在swift中处理不同的JSON HTTP响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48584522/

相关文章:

json - NodeJS,如何在 GET 请求时调试 TLSSocket.socketOnData 的解析错误?

javascript - 使用 lodash 映射键或任何其他 javascript 方法(NodeJs)动态更改对象键

javascript - 传递 json 并获取结果取决于 2 行 - javascript

ios - 在 Swift 中将字典复制到数组中

linux - Nginx 返回 499

javascript - JSON 和 JavaScript 对象有什么区别?

ios - 使用 AVFoundation 在 Swift 3.0 中扫描条形码或二维码

ios - 动态可扩展表格 View

php - 在哪里以及如何设置 Vary : User-Agent HTTP Header

java - Jsoup 爬虫和 HTTP 错误获取 URL