如何检查 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 完全相同(但可能有一个额外的复制步骤)。