请告诉我一个可能的复制品,但在我的研究中,我找不到解决方案。
下面是我试图从REST API中解码的JSON对象:
{
"name": "Oak",
"leaves":[
{
"id": "1A",
"damaged": false
},
{
"id": "2A",
"damaged": false
},
{
"id": "3E",
"damaged": false
}
]
}以下是到目前为止的代码:
struct Tree: Codable {
var name : String?
var leaves : [Leaf]?
init() {
self.name = string()
self.leaves = []
}
}
struct Leaf: Codable {
var id : String?
var damaged : Bool?
init(){
self.id = String()
self.damaged = Bool()
}
}现在,当我使用API时,我使用以下命令来解码响应:
let jsonDecoder = JSONDecoder()
let time = try jsonDecoder.decode(Tree.self, from: data)当我尝试对此API进行解码时,我得到:
“无法读取数据,因为它的格式不正确。”
感谢您提供的任何指导,谢谢!
另外,init的存在是因为它们被用作单例模式,我并不是在寻找不使用单例模式的建议,我只是想找出这种解码的问题是什么。
编辑:
感谢大家的回复!我以为问题是来自自定义结构的数组,但实际上它要简单得多,我觉得自己很愚蠢。看看我下面的答案。
因此,再次感谢大家的指导,让我谦卑!
https://stackoverflow.com/questions/47708270
复制相似问题