【发布时间】:2019-11-28 19:13:26
【问题描述】:
我需要在我正在开发的 swift 应用程序中发出 API 请求,要求是,它需要先进行 json 编码,然后再进行 base 64 编码。
我以为我已经弄明白了,但是我在 Xcode 中收到一个错误提示
无法将“字符串”类型的值分配给“数据”类型?
这是我正在做的简化版本...
let params: [String: Any] = ["connection_id": 123456]
var request = URLRequest(url: url!) //url is stored as a variable in my class
let jsonData = try? JSONSerialization.data(withJSONObject: params)
request.httpMethod = "POST"
request.httpBody = Data(jsonData!).base64EncodedString() //<--This is where the error is
request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
//send out the request with URLSession.shared.dataTask
如果 Xcode 告诉我类型必须是 Data,我如何才能将 json 对象的 base64 编码字符串作为请求中的参数?
【问题讨论】:
标签: json swift base64 urlsession