Rob*_*ert 0 encoding json swift
我正在尝试对我的 jsonData 进行编码。一切正常,但有一个例外 - 我收到的是输出Optional(my_json_string)。但我只想收到my_json_string
当我更改req.httpBody = jsonData为时req.httpBody! = jsonData,我收到错误。
do {
let jsonData = try encoder.encode(self)
let jsonString = String(data: jsonData, encoding: .utf8)
req.httpBody = jsonData
print ("httpBody is: ", jsonString)
} catch {
//TODO:error handling
}
Run Code Online (Sandbox Code Playgroud)
如何正确执行此操作并从可选中解开我的 JSON 字符串?
您的代码没有问题,您的编码 JSON 不是可选的。您看到的问题是您正在打印String(data:, encoding: )初始化程序的返回值,这是一个可失败的初始化程序(nil如果您提供给它的编码错误,它就会返回),因此Optional在 print 语句中。
JSONEncoder始终生成有效的 UTF-8 编码String,因此您可以通过执行以下操作安全地强制解开初始化程序的返回值
let jsonString = String(data: jsonData, encoding: .utf8)!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |