{ "payload": { âkey1â: âvalue1â, âkey2â: "{\"command\": \"playSound\",\"tone\": 0,\"delay\": 100000}â, âkey3â: 0 }, }
上面是我的响应数据,而“payload”是已知的密钥,但在“payload”中包含所有密钥;值未知。
我的代码如下,但不起作用。
let decoder = JSONDecoder() do { let dict = try! decoder.decode([String: Any].self, from: data!) complete(true, dict, nil) }
你知道吗?
一种选择是回到过去 JSONSerialization 但缺点是你失去了 Decodable
JSONSerialization
Decodable
init(from: Decoder) 外部对象的方法(具有 payload ),并在那里手动解码词典。
init(from: Decoder)
payload
或者有 Codable -合格包装,你可以用它来代替 Any . 这里是 one
Codable
Any