【问题标题】:How to deal with different JSON HTTP response in swift如何快速处理不同的 JSON HTTP 响应
【发布时间】:2018-02-02 14:13:33
【问题描述】:

例如,

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

下一个视图应该基于从前一个视图控制器中选择的类别以 TableView 格式显示项目列表,但每个类别列表都有一组不同的 JSON 对象作为响应。

最好的方法是什么?

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

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

任何帮助将不胜感激......

【问题讨论】:

  • JSONDecoder 越静态越方便,反之亦然。在某些时候,有一个阈值,相对于手动 JSONSerialization 的优势是

标签: json swift http struct


【解决方案1】:

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

您可以使用 ObjectMapper 库将 JSON 映射到所需的模型对象。并且可以使用与模型对象的接口来调用原语。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多