【发布时间】:2018-12-03 19:53:56
【问题描述】:
我的 API 总是返回具有以下结构的 Json:
{
"data": Object
}
其中“对象”可以是原始数据(例如字符串)、另一个 Json 对象或 Json 数组。
{
"data": "string"
}
{
"data": {
"id_user": 1
"name": "name"
}
}
{
"data": [{
"id_user": 1
"name": "name"
},
{
"id_user": 2
"name": "name"
}]
}
如何访问“对象”以便使用 Codable 结构对其进行解析?
【问题讨论】:
-
越灵活,需要编写的代码就越多。在处理案例的封闭结构中编写自定义初始化程序。
-
@vadian 怎么样?我可以为 Object 变量使用哪些类型?
-
如果
id_user / name结构始终相同,则创建Decodable结构(例如User),情况为String、User和[User]键data. -
我不能这样做,因为我可以有很多可能的结构,这就是为什么我需要一个泛型类型来访问“数据”内容,然后使用 JSONDecoder 解析它
-
Encodable/Decodable的通用行为只与它支持的具体类型有关。您无法解码不是从受支持的泛型类型之一派生的泛型类型