我想创建一个具有下一个结构的字典,以便通过 Alamofire 将其作为 JSON 发送到服务器:
{
"user": {
"firstName": "fName",
"lastName": null,
"img": null,
"books": [
{
"id": 1
}, {
"id": 2
}
]
},
"locale": "en",
"gender": "male"
}
对于这种 JSON 结构,我尝试了下一个:
let parameters: [[String: [String: String]], [String: String]]
但是有很多闭包,所以我对它感到困惑。你能帮我创建这个结构吗?
最佳答案
Swift 标准库中的集合类型只支持同构集合,即集合中的所有元素必须具有相同的类型。因此,您不能声明一个数组,其第一个元素的类型为 [String: [String: String]]
而第二个元素的类型为 [String: String]
如果是你想要什么。
这个有效:
let parameters = [
"user": [
"firstName": "fName",
"lastName": NSNull(),
"img": NSNull(),
"books": [
[ "id": 1],
[ "id": 2]
]
],
"locale": "en",
"gender": "male"
]
parameters
的类型是[String: NSObject]
,其中NSObject
是字典中所有值的父类(super class)。请注意使用 NSNull
来模拟 null
值,这是 NSJSONSerialization
所期望的。
关于ios - 如何创建一个里面有 2 个数组的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36059402/