如何创建一个里面有 2 个数组的字典?
How to create a dictionary with 2 arrays inside?
我想创建一个具有下一个结构的字典,以便通过 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
是字典中所有值的超类。请注意使用 NSNull
来模拟 null
值,这是 NSJSONSerialization
所期望的。
我想创建一个具有下一个结构的字典,以便通过 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
是字典中所有值的超类。请注意使用 NSNull
来模拟 null
值,这是 NSJSONSerialization
所期望的。