JSON序列化字典中的数据和日期转换

时间:2017-12-23 20:00:35

标签: json swift codable

我有一些可编码的结构,我想从它创建一个[String:Any]字典来迭代它的属性。我创建了一个计算属性:

var dictionary: [String: Any] {
    return (try? JSONSerialization.jsonObject(with: JSONEncoder().encode(self), options: [])) as? [String: Any] ?? [:]
}

当我遍历字典并尝试投射任何'时,类似于'数据'和'日期'永远不会工作Casting仅适用于' String',' Int'和' Double'。可以投射“数据”吗?和'日期'不知何故?提前谢谢。

1 个答案:

答案 0 :(得分:1)

JSON没有日期或字节序列(数据)的预定义或标准编码。

JSONEncoder和JSONDecoder都具有属性dateEncodingStrategydataEncodingStrategy,您可以将其设置为匹配您在JSON中使用的任何格式。