例如,
我有一个 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/