【发布时间】:2018-07-30 06:59:26
【问题描述】:
我正在尝试在 swift 4 中解析 JSON,但出现以下错误:
执行被中断,原因:EXC_BAD_INSTRUCTION (代码=EXC_I386_INVOP,子代码=0x0)。该过程已留在 中断点,使用“thread return -x”返回 表达式求值前的状态。
这是我的代码:
struct Beer : Codable {
let name: String
let brewery: String
let style: String
}
let jsonResponse = [
"name": "Endeavor",
"brewery": "Saint Arnold",
"style": "ipa"
]
let jsonString = String(describing: jsonResponse)
let jsonData = jsonString.data(using: .utf8)
let decoder = JSONDecoder()
let beer = try! decoder.decode(Beer.self, from: jsonData!)
print(beer)
【问题讨论】:
-
你认为
String(describing: jsonResponse)为什么会创建一个JSON字符串? -
如果你使用
try/catch而不是try!你可能会得到一个更有用的错误:)