我想创建一个包含下一个结构的字典,通过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]]
但是有很多关闭,所以我对它感到困惑。你能帮我创建这个结构吗?
答案 0 :(得分:1)
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
是字典中所有值的超类。请注意使用NSNull
来模拟null
值,这是NSJSONSerialization
期望的值。