我有一个JSON文件,我想使用[String: Any]
。我遇到的问题是,我得到了一个错误:
对示例方法“decode”的调用中没有完全匹配
我很想知道我错在哪里。
struct MyModel: Decodable {
let myDictionary: [String: Any]
private enum CodingKeys: String, CodingKey {
case myDictionary
}
init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
let data = try container.decode([String: Any].self, forKey: .myDictionary)
self.myDictionary = data
}
}
1条答案
按热度按时间hvvq6cgz1#
问题是**[String:由于Any部分,Any]字典不符合Decodable协议。不会自动推断出哪个具体类型。
但是不用担心,在您的情况下这不是问题,您只需要读取文件内容并使用JSONSerialization将其转换为[String:任何]**。
然后您可以决定是否要从String或Data创建Model。