我正在与Alamofire和SwiftyJSON合作。 我正在尝试使用以下结构发出请求
{
"email":"ppp@ppp.com",
"password":"pppppp",
"categories": [
{"id":"2"},
{"id":"1"},
{"id":"6"},
{"id":"5"}
]
}
我正在使用:
let parameters = [
"email" : userEmail,
"categories" : userPassword,
"categorias" : selectedCategoriesArray]
//where selectedCategoriesArray is a [[String]]()
我使用修改数组的这一行填充我的selectedCategoriesArray:
selectedCategoriesArray.append(["id", "2"]) //where 2 can be any other number
Alamofire.request( .PUT, url, parameters)
它似乎工作正常,但事实并非如此,我不知道我的String数组是否采用了正确的格式发送给WS,还是需要以特殊方式对其进行编码?
有没有人使用过这样的东西,一点帮助就会受到赞赏。 谢谢!
答案 0 :(得分:1)
我认为你的数组在这种情况下的类型应该是[[String: String]]
。
let userEmail = "myemail@email.com"
let userPassword = "123456"
var selectedCategoriesArray: [[String: String]] = []
for i in 0...5 {
selectedCategoriesArray.append(["id": String(i)])
}
let parameters = [
"email" : userEmail,
"password" : userPassword,
"categories" : selectedCategoriesArray
]
答案 1 :(得分:0)
请查看以下
let savedData = ["id": 1, "id": 2]
let jsonObject: [String: AnyObject] = [
"email": “xyz@yopmail.com”,
"password": 123456,
"categories": savedData
]
let valid = NSJSONSerialization.isValidJSONObject(jsonObject) // true