如何从类对象列表构造json对象

时间:2015-08-07 13:10:27

标签: ios json swift

我正在研究如何从类对象列表构造或创建一个子对象。

我有一个类别类,看起来像:

class Category {

    var Code: Int?
    var Label: String?


    init(Code: Int, Label: String) {
        self.Code = Code
        self.Label = Int

    }
}

然后我有一个类别列表var categories = [Category]()

然后我按照这样添加我的列表:

  categories.append(5,"Shoes")

如何构造一个如下所示的json对象:

{
"List":[
{
"Code":"5",
"Label":"Shoes"
},

....
]
}

1 个答案:

答案 0 :(得分:1)

第1步

首先,我们更新您的Category课程。

class Category {

    var code: Int // this is no longer optional
    var label: String // this neither

    init(code: Int, label: String) {
        self.code = code
        self.label = label
    }

    var asDictionary : [String:AnyObject] {
        return ["Code": code, "Label": label]
    }
}

第2步

现在我们创建一个类别列表

var categories = [
    Category(code: 0, label: "zero"),
    Category(code: 1, label: "one"),
    Category(code: 2, label: "two")
]

然后我们将它们转换为字典列表

let list = categories.map { $0.asDictionary }

最后让我们创建json

let json = ["List":list]

看起来有效

NSJSONSerialization.isValidJSONObject(json) // true

希望这有帮助。