【发布时间】:2020-11-02 03:43:12
【问题描述】:
所以...我是新手。从四月份开始,我就一直在尝试自学如何编程。但我一直很tach。所以...免责声明...
我正在尝试制作一个基于 Magic the Gathing 的应用程序。我正在尝试使用 Scryfall 的数据库作为后端(因此我不必自己对所有 20,000 张卡片进行编目)。但是我在解析 json 时遇到了错误。
我尝试跟随 Hacking with Swift 的视频系列。我尝试了两种主要方法。
方法一、下载批量数据,保存到项目中,本地解析。
方法 2. 使用 URLSession。
两次我都卡在同一个地方。
if let decodedResponse = try? JSONDecoder().decode(Response.self, from: data)
不知何故,那部分总是失败。仅当我将 json 的(很小的)部分作为let json = """ [{ stuff: stuff, more stuff: more stuff}]""" 直接粘贴到主 .swift 文件中时,它才有效。但无论何时我使用Bundle.main.path(forResource: " nameOfFile", ofType: "json") 或 URLSession,它都会在解码行完全失败。
- 理论 1. Scryfall 没有使用符合 Codable 的 json?
- 理论 2. 我保存数据的结构没有正确“捕捉”解码后的数据。
hacking with Swift > Codable cheat sheet
hacking with Swift > Sending and receiving Codable data with URLSession and SwiftUI
【问题讨论】: