Swift Codable:针对相同键的不同服务器答案的通用解决方案

时间:2019-01-28 09:58:16

标签: json swift codable

我的服务器具有如下所示的API响应:

{
  "result": true
}

{
  "result": {"aaa":"bbb"}
}

{
  "result":[{"aaa":"bbb"},{"aaa":"bbb"}]
}

现在我将JSONDecoder与这样的结构一起使用:

struct MyObject: Codable {
    var aaa: String
}

struct ResultTrue: Codable {
    var result: Bool
}

struct ResultMyObjectDict: Codable {
    var result: MyObject
}

struct ResultMyObjectArray: Codable {
    var result: [MyObject]
}

但是看起来不知所措-我使用ResultTrue.self,ResultMyObjectDict.self,ResultMyObjectArray.self并始终检查.result ...

我可以告诉JSON解码器,我的数据始终位于键result上,并使用诸如Bool.self,MyObject.self和[MyObject] .self之类的简单内容。     struct MyObject:可编码{         var aaa:字符串     } ?

0 个答案:

没有答案