【发布时间】:2019-08-27 05:41:08
【问题描述】:
我正在尝试加载本地 JSON 文件并使用符合 Decodable 协议的模型进行解析。
JSON 文件:
[
{
"body": {},
"header": {
"returnCode": "200",
"returnMessage": "Successfully Received",
}
}
]
响应消息模型:
struct ResponseMessage: Decodable {
struct header: Decodable {
let returnCode: String
let returnMessage: String
}
}
模拟 API 实现:
let url = Bundle.main.url(forResource: "MockJSONData", withExtension: "json")!
do {
let data = try Data(contentsOf: url)
let teams = try JSONDecoder().decode(ResponseMessage.self, from: data)
print(teams)
} catch {
print(error)
}
但响应消息为此返回空数据。
感谢您的帮助和建议!
谢谢
【问题讨论】:
-
你的 JSON 是一个数组,所以它应该是
decode([ResponseMessage].self,而它缺少struct ResponseMessage: Decodable { let header: header }。顺便说一句,用大写字母写struct Header: Decodable {,然后写struct ResponseMessage: Decodable { let header: Header }
标签: ios swift xcode jsonparser jsondecoder