【问题标题】:How to construct a json object from list of class objects如何从类对象列表中构造一个 json 对象
【发布时间】:2015-08-07 13:10:26
【问题描述】:

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

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

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"
},

....
]
}

【问题讨论】:

标签: ios json swift


【解决方案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]
    }
}

第二步

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

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

希望这会有所帮助。

【讨论】:

  • 但是怎么转成JSON呢,变量JSON还是一个列表
  • 不,变量 json 是一个字典 [String:AnyObject],它确实代表一个 JSON。您期望什么类型的对象?
  • 我想要一个可以在 post 请求中发送的 json 对象
  • 您可以使用 NSJSONSerialization.JSONObjectWithData 将 Dictionary 转换为 NSData,如此处所述stackoverflow.com/questions/27654550/…。然后你可以执行一个 POST 请求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-01
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多