Gol*_*Joe 6 json ios swift codable jsonencoder
struct TestEnc: Codable {
var date = Date()
}
let encoder = JSONEncoder()
let tenc = TestEnc()
let jsonData = try encoder.encode(tenc)
let json = String(data: jsonData, encoding: String.Encoding.utf8)
print("json:\(json)")
Run Code Online (Sandbox Code Playgroud)
这打印:
json:Optional("{\"date\":589331953.61679399}")
Run Code Online (Sandbox Code Playgroud)
我在文档中找不到这应该代表什么。
iOS 日期通常以秒为单位进行编码或处理ReferenceDate
例如
Date(timeIntervalSinceReferenceDate:)
这方面的文档是:
概括
创建一个相对于 2001 年 1 月 1 日 00:00:00 UTC 初始化给定秒数的日期值。
可以通过这个运行你的号码,你会得到你的日期:
Date(timeIntervalSinceReferenceDate: 589331953.61679399)
输出:“2019-09-04 23:19:13 +0000\n”
就显式编码文档而言。这非常简洁。
文档中引用了默认编码策略:
默认策略是 JSONEncoder.DateEncodingStrategy.deferredToDate 策略。
然而,似乎并不清楚这实际上意味着什么(除了手动测试),目前参考在这里。即使深入研究接口文件,似乎也没有更多的亮点。
| 归档时间: |
|
| 查看次数: |
2128 次 |
| 最近记录: |