我正在尝试创建对应于在 Swift 中检索到的 JSON 数据的类。对于嵌套对象,通过结构而不是单独的类来表示它们是否合适?还是应该将这些简单地视为字典对象?因此,例如下面是一些 JSON:
{
prop1: value1,
prop2: {
subprop1: subvalue1,
subprop2: subvalue2
}
}
在 Swift 类中表示嵌套的 prop2
对象的最佳方式是什么?我目前正在这样做,使用结构如下:
class MyClass {
struct prop2 {
var subprop1: AnyObject?
var subprop2: AnyObject?
}
var prop1: AnyObject?
}
但是,当对象嵌套很深时,不确定如何最好地处理这些情况时,此方法会变得有点麻烦。
我还要补充一点,我可以像这样将数据序列化为 NSDictonary 对象:
if let details: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as? NSDictionary { }
但是,我试图更进一步,将字典的属性映射到 Swift 中它们各自的类变量/结构。
最佳答案
从传入 NSJSONSerialization class 的 JSON 中获取原生 NSDictionary 对象非常简单,并且如果您在格式良好的 NSDictionary 对象中设置 JSON 表示,则可以通过 `dataWithJSONObject:options:error: 执行相反的操作(即,您可以从 NSDictonary 对象创建 JSON 数据流)。 API。
公共(public)文档是针对 Objective-C 的,但如果您登录 Apple 的开发者门户,您也可以查看预发布的 Swift 文档。
关于ios - 在 Swift 中创建类和结构来表示 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25595783/