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?

如何在 Swift 中将数组添加到我的 JSON 字典

发送包含数组的数组 json 主体(Alamofire、Swift、iOS)

来自swift的JSON请求在php中显示空数组

JSON请求后的IOS/Swift渲染表