如何检查 JSON 是否可以在 Swift 中转换为字典?
How to check JSON can be converted to dictionary in Swift?
试过了,但出现错误:
var d = (try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers)) as [String: String]
guard let d2 = d else {
return
}
你可以试试
guard let dic = try? JSONSerialization.jsonObject(with: data) as? [String: String] else { return }
此处正确的工具是 JSONDecoder,而不是 JSONSerialization:
let d = try JSONDecoder().decode([String: String].self, data)
.mutableContainers
转换为 Swift 字典时没有意义。这导致它创建 NSMutableDictionary
对象,这些对象将被转换为 [String: String]
与没有 .mutableContainers
完全相同(但可能有一个额外的复制步骤)。
试过了,但出现错误:
var d = (try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers)) as [String: String]
guard let d2 = d else {
return
}
你可以试试
guard let dic = try? JSONSerialization.jsonObject(with: data) as? [String: String] else { return }
此处正确的工具是 JSONDecoder,而不是 JSONSerialization:
let d = try JSONDecoder().decode([String: String].self, data)
.mutableContainers
转换为 Swift 字典时没有意义。这导致它创建 NSMutableDictionary
对象,这些对象将被转换为 [String: String]
与没有 .mutableContainers
完全相同(但可能有一个额外的复制步骤)。