所以我尝试快速解析 JSON,我的 API 调用为我提供了一个 JSON 数组字典,其中包含附近 wifi 网络的名称。 我的问题是,不同地方的网络数量会有所不同,那么如何解析这个 JSON 数组,以便在解析后我能够在 TableView 中将所有可用的 wifi 网络名称显示为单个单元格。 P.S: 我不想使用 SwiftJSON 库
我的 JSON 是:
{
"networks":
[
"WiFi network 1",
"WiFi network 2",
"WiFi network 3",
],
}
我的JSON解析如下,
func downloadSettingsDetails(completed: @escaping DownloadSettingsComplete) {
Alamofire.request(SETTINGS_DATA_URL).responseJSON { response in
let result = response.result
print(response.description)
if let dictDetails = result.value as? Dictionary<String , AnyObject> {
if let networks = dictDetails["networks"] as? String {
}
}
}
最佳答案
networks
键下的值是一个数组。如果将其解析为数组而不是特定对象,则可以得到一个 String
数组。之后,您可以通过 .count
属性获取数量,以获取有多少个网络。
例如,您可以使用 guards
来确保安全:
func downloadSettingsDetails(completed: @escaping DownloadSettingsComplete) {
Alamofire.request(SETTINGS_DATA_URL).responseJSON { response in
let result = response.result
print(response.description)
guard let json = result as? NSDictionary, let networks = json["networks"] as? [String] else {
return
}
//Do what you want with the networks array
}
关于ios - 每次调用 API 时键的数量都发生变化,如何解析 JSON 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42157225/