首页 > 解决方案 > 使用 Codable 解码不具有您想要的相同结构的 JSON

问题描述

Codable当有问题的 JSON 与我想在我的应用程序中使用的模型匹配时,我之前成功地使用过解码 JSON 。

我正在谈论的 JSON 是https://www.reddit.com/r/earthporn/hot.json。在这里,我只对对象感兴趣,data.children[i].data.preview.images[0].source所以基本上在我的应用程序中,我只关心这个模型的数组

struct Wallpaper: Codable {
    let url: URL
    let width: Int
    let height: Int
}

我不想将整个架构创建为巨大的嵌套结构,以便我可以解码其中的一部分data.children[i].data.preview.images[0].source

有什么方法可以做到这一点,Codable或者这是否更适合使用

let json = try JSONSerialization.jsonObject(with: data) as? [String: Any]

然后遍历整个树来创建我的对象?或者有没有我没有考虑过的另一种解决方案?

谢谢

标签: iosswiftmacoscodable

解决方案


推荐阅读