[英]Firebase timestamp decode
我有以下 object:
struct CustomModel: Codable {
var id: String?
var creationTime: Timestamp? <-----
var providerData: [ProviderData]?
var uid: String?
enum CodingKeys: String, CodingKey {
case id
case creationTime
case providerData
case uid
}
}
解码它:
JSONDecoder().decode(CustomModel.self, from: jsonData)
尝试解码 Firebase 时间戳时出现以下错误:
无法解析 json keyNotFound(TimestampKeys(stringValue: "seconds", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "creationTime", intValue: nil)], debugDescription: "No value associated with key TimestampKeys(stringValue: "seconds", intValue: nil) ("seconds").", underlyingError: nil))
我正在使用 Firebase 函数与 Firebase 交互,因此我需要解码这个 object,问题是我不知道如何处理 creationTime firebase 时间戳。 我不想使用 CodableFirestore 库,因为它已经过时了。 有什么建议么?
这里的问题是Timestamp
不是Codable
协议支持的类型。 请记住, Timestamp
是 Firestore 自定义类型,而不是原生的 Swift 类型。 然而, Date
是原生的 Swift 类型,并且受Codable
支持,并且可以在Timestamp
之间轻松转换。
let date = timestamp.dateValue()
let timestanmp = Timestamp(date: date)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.