【发布时间】:2019-03-18 11:01:38
【问题描述】:
这是我的 JSON 数组
[
{
"dollar":"15000",
"date":"1397-12-12"
}
]
我想在两个不同的标签中显示美元和日期值,但我遇到了这种类型不匹配错误:
typeMismatch(Swift.Dictionary<Swift.String, Any>, Swift.DecodingError.Context(codingPath: [], debugDescription: "Expected to decode Dictionary<String, Any> but found an array instead.", underlyingError: nil))
这是我的结构:
struct Dollar_Date : Codable {
let dollar : String
let date : String
}
这是我在视图控制器中的代码:
func dollarLabel() {
let urlString = DOLLAR_DATE_BASE_URL
guard let url = URL(string: urlString) else { return }
// 2
URLSession.shared.dataTask(with: url) { (data, response, error) in
if error != nil {
print(error!.localizedDescription)
}
guard let data = data else { return }
do {
// 3
//Decode data
let JSONData = try JSONDecoder().decode(Dollar_Date.self, from: data)
// 4
print(JSONData.dollar)
//Get back to the main queue
DispatchQueue.main.async {
self.main_Price.text = JSONData.dollar
self.data_Label.text = JSONData.date
}
} catch let jsonError {
print(jsonError)
}
// 5
}.resume()
}
【问题讨论】:
标签: json parsing uilabel swift4.2