【发布时间】:2019-05-23 05:39:25
【问题描述】:
我正在从 API 中检索 JSON,并且我想为我使用的每个端点创建一个模型。
所有端点都使用这种格式:
{
"id": "xxxxxx",
"result": {…},
"error": null
}
关键是:
-
id始终是一个字符串 -
error可以是 null 也可以是包含键的对象 -
result可以是 null;一个对象或一个数组。
我遇到的问题是,在其中一个端点上,结果是数组数组:
{
"id": "xxxxxx",
"result": [
[
"client_id",
"name",
50,
"status"
]
],
"error": null
}
如您所见,我有数组数组,其中的值可以是字符串或整数。
如何使用 Decodable 协议对其进行解码,然后根据它们的原始值将解码后的值用作 String 或 Int?
【问题讨论】:
-
"error"可以是什么对象? -
向我们展示您正在使用的 Decodable 结构或类。如果您不显示代码,我们将无法修复您的代码。
-
最简单的解决方案是使用两个独立的模型。不同的端点返回不同的数据模型是正常的。
标签: arrays swift decodable encodable