将字典数据转换为HTTP url格式

时间:2016-12-10 09:35:15

标签: ios swift

我正在尝试使用POST方法发送字典数据dataTaskWithRequest()只能以字符串URL格式发送。

我们如何将字典数据转换为HTTP URL格式?

以下是一个例子:

PictureBox1.Visible = False

将其转换为

let parameters = [
    "first": "name",
    "second": ["a", "b"],
    "third": [
        "x": 1,
        "y": 2,
        "z": 3
    ]
] 

使用swift 2.3

2 个答案:

答案 0 :(得分:1)

您可以使用此代码将字典转换为json并设置HTTPBody

    let jsondata = NSJSONSerialization.dataWithJSONObject(parameters, options: .PrettyPrinted)
    request.HTTPBody = jsondata

答案 1 :(得分:0)

面对同样的问题。使用以下代码转换了Dictionary

let postString = (dictionaryParameters.flatMap({ (key, value) -> String in
            return "\(key)=\(value)"
        }) as Array).joined(separator: "&")

并将字符串附加到请求的httpBody中:

request.httpBody = postString.data(using: String.Encoding.utf8)

最后得到了答复。

从此链接获得帮助: