【发布时间】:2019-06-13 19:31:20
【问题描述】:
目前,我正在处理从 JSON 文件收到的信息,由于它被组织成多个级别,我不仅需要能够将文件,而且还需要能够将其所有内容转换为正确的文件类型。我遇到了一些问题,在这个问题上我找不到 Swift 的任何东西。
到目前为止,我已经尝试了以下代码中显而易见的方法。我找不到太多关于替代方法的信息,而且我还是编程新手,所以我做的不多。
URLSession.shared.dataTask(with: urlRequest) { data, response, error in
if let data = data {
print("Clear")
let returnData = String(data: data, encoding: .utf8)
do {
let image = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
print(image!["results"])
var imgl2 = image!["results"]
imgl2 = imgl2 as! Array
//imgl2 = imgl2![0]
//print(imgl2!["color"])
// var imgl3 = imgl2!["results"]
// var imgl4 = imgl3!["results"]
// var imgl5 = imgl4!["results"]
// var imgl6 = imgl5!["results"]
} catch let error {
print(error)
}
}
}.resume()
这里应该发生的是我应该能够将 JSON 的内容转换为正确的文件类型。在某种程度上,这是可行的,并且我能够获得第一级的结果。但是,在 imgl2 = imgl2 as!数组,我无法将其转换为数组。相反,我收到错误(无法将“Array<_>”类型的值分配给“Any?”)。我真的很想能够使用封闭的数组,但我不能。在此之后,我将需要以这种方式对其他几个级别的内容进行分类。我试过查看 API 文档,但我不明白他们编写它的方式(顺便说一下,这是 Unsplash),因此,我尝试了这种方法。我该怎么做呢?
(有关更多信息,我正在尝试提取结果中的第一张图像,以便我可以通过编程方式对其进行编辑。我需要在对搜索查询的响应中包含 URL,但文档的方式是措辞不够清楚,这个问题的解决方案也很少,我不得不反复试验才能到达我现在的位置。任何关于如何实现这一点的见解将不胜感激。)
【问题讨论】:
标签: arrays swift type-conversion