如何使用alamofire将数组数据发送到api? [关闭]

问题描述 投票:-1回答:2

这是我的参数发送到api

let params : [String : Any]  = [
      "interests" : interestParams
]

和params的输出是这样的

[interests : ["Olahraga", "Sains", "Musik"]]

我需要发送这样的参数

{ "interests": ["Olahraga", "Sains", "Musik"] }
ios arrays swift api alamofire
2个回答
0
投票

我是这样做的,所有的时间Xcode都不会像你想要的那样打印json

{ "interests": ["Olahraga", "Sains", "Musik"] }

但实际上它会以这种形式将数据发送到请求中的服务器。

所以不要担心Xcode会像这样显示

[interests : ["Olahraga", "Sains", "Musik"]]

0
投票

您可以将数组转换为json字符串,然后您可以在字典中传递此json字符串。

使用此代码将数组转换为json字符串。

 func json(from object:Any) -> String? {
    guard let data = try? JSONSerialization.data(withJSONObject: object, options: []) else {
        return nil
    }
    return String(data: data, encoding: String.Encoding.utf8)
  }

    let interestParams = ["Olahraga", "Sains", "Musik"]
    let jsonString = json(from: interestParams)

像这样在字典中传递这个json字符串。

    let params : [String : Any]  = [
        "interests" : jsonString as Any
    ]
© www.soinside.com 2019 - 2024. All rights reserved.