首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Struct - Codable数组

Struct - Codable数组
EN

Stack Overflow用户
提问于 2017-12-08 13:29:07
回答 0查看 932关注 0票数 1

请告诉我一个可能的复制品,但在我的研究中,我找不到解决方案。

下面是我试图从REST API中解码的JSON对象:

代码语言:javascript
复制
{
    "name": "Oak",

    "leaves":[
    {
        "id": "1A",
        "damaged": false
    },
    {
        "id": "2A",
        "damaged": false
    },
    {
        "id": "3E",
        "damaged": false
    }
]

}

以下是到目前为止的代码:

代码语言:javascript
复制
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时,我使用以下命令来解码响应:

代码语言:javascript
复制
let jsonDecoder = JSONDecoder()
let time = try jsonDecoder.decode(Tree.self, from: data)

当我尝试对此API进行解码时,我得到:

“无法读取数据,因为它的格式不正确。”

感谢您提供的任何指导,谢谢!

另外,init的存在是因为它们被用作单例模式,我并不是在寻找不使用单例模式的建议,我只是想找出这种解码的问题是什么。

编辑:

感谢大家的回复!我以为问题是来自自定义结构的数组,但实际上它要简单得多,我觉得自己很愚蠢。看看我下面的答案。

因此,再次感谢大家的指导,让我谦卑!

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47708270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档