我正在接收 JSON 文本,将其转换为数据,然后使用 JSONDecoder 创建由 JSON 文本/字符串表示的具体类型。
它确实适用于我的“复杂”数据结构(实现 Codable),甚至是一个简单的 Int 数组,如下所示:
import Foundation
let jsonTextContainigArrayOfInt: String = "[1,2,3]"
let data = jsonTextContainigArrayOfInt.data(using: .utf8)!
do {
let arrayOfInt: [Int] = try JSONDecoder().decode([Int].self, from: data)
for n in arrayOfInt {
print(n)
}
}
catch {
print(error)
}
前面的代码可以正常工作并正确创建 Int 数组并打印它们。
使用 JSON 文本中的单个 Int 执行相同方法时会出现问题:
import Foundation
let jsonTextContainigOneInt: String = "1"
let data = jsonTextContainigOneInt.data(using: .utf8)!
do {
let myInt: Int = try JSONDecoder().decode(Int.self, from: data)
print(myInt)
}
catch {
print(error)
}
对于第二种方法,我收到以下错误:
“操作无法完成”
*** 编辑 ***