json - 使用 SwiftyJSON 反序列化 NSDate

标签 json swift nsdate swifty-json

反序列化 JSON date 的最佳方法是什么?使用 SwiftyJSON 进入 NSDate 实例?

是仅将 stringValueNSDateFormatter 一起使用,还是使用 SwiftyJSON 内置日期 API 方法?

最佳答案

听起来 NSDate 支持并未内置到 SwiftyJSON 中,但您可以使用自己的便利访问器扩展 JSON 类。

以下代码改编自this GitHub issue .

extension JSON {
    public var date: NSDate? {
        get {
            if let str = self.string {
                return JSON.jsonDateFormatter.dateFromString(str)
            }
            return nil
        }
    }

    private static let jsonDateFormatter: NSDateFormatter = {
        let fmt = NSDateFormatter()
        fmt.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
        fmt.timeZone = NSTimeZone(forSecondsFromGMT: 0)
        return fmt
    }()
}

例子:

let j = JSON(data: "{\"abc\":\"2016-04-23T02:02:16.797Z\"}".dataUsingEncoding(NSUTF8StringEncoding)!)

print(j["abc"].date)  // prints Optional(2016-04-23 02:02:16 +0000)

您可能需要为自己的数据调整日期格式;见this question有关更多示例。另见 this question about date formatting in JSON .

关于json - 使用 SwiftyJSON 反序列化 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36805662/

相关文章:

ios - 如何覆盖 NSDate 描述? ..方法调配?

ios - 快速用户通知 : why is nextTriggerDate nil?

ios - Swift(SpriteKit)/AdMob - 插页式广告请求错误

swift - 如何在 Swift 中使用 CG 方法为高度纹理图像中的文本添加凹凸效果

java - JsonObject getAsString 抛出异常

json - 将具有多个级别的 json 读入 DataFrame [python]

arrays - 在字典上使用 .values 的奇怪错误

ios - 尝试将 NSDate 转换为 Date 并收到警告

json - 无法使用 netty 在 http 客户端中读取响应

c# - Json.NET 配置序列化程序以重用相等标记的对象实例