iOS swift json PUT请求字符串数组在参数中
Posted
技术标签:
【中文标题】iOS swift json PUT请求字符串数组在参数中【英文标题】:iOS swift json PUT request string array in parameters 【发布时间】:2016-07-12 06:34:51 【问题描述】:我正在使用 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,或者我是否需要以特殊方式对其进行编码?
有没有人用过这样的东西,一点帮助将不胜感激。 谢谢!
【问题讨论】:
【参考方案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
]
【讨论】:
【参考方案2】:查看下方
let savedData = ["id": 1, "id": 2]
let jsonObject: [String: AnyObject] = [
"email": “xyz@yopmail.com”,
"password": 123456,
"categories": savedData
]
let valid = NSJSONSerialization.isValidJSONObject(jsonObject) // true
【讨论】:
以上是关于iOS swift json PUT请求字符串数组在参数中的主要内容,如果未能解决你的问题,请参考以下文章
如何从带有 ios Swift 3 的肥皂 Web 服务方法中获取 json 数组字符串?
iOS Swift 如何从 UIWebView 将 JSON 字符串和数组或字典传递给 Javascript?