let encoder = JSONEncoder()
do {
let encodData = try encoder.encode("test string") // same as Int type
print(encodData) // nil
} catch let err {
print(err.localizedDescription) // The data couldn’t be written because it isn’t in the correct format.
}
如何编码这些类型值
最佳答案
顶级(根)JSON 对象只能是数组或字典。例如:
do {
let encoder = JSONEncoder()
let encodData = try encoder.encode(["test string"])
print(String(data: encodData, encoding: .utf8)!)
// ["test string"]
} catch {
print(error.localizedDescription)
}
关于Swift 4 JSONEncoder 不能对 String 或 Int 进行编码,但它们遵循 Codable 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49668246/