【发布时间】:2017-10-08 21:41:54
【问题描述】:
我正在尝试在我的示例 iOS 应用程序中调用 Bittrex api。
我正在尝试从这里读取 JSON。 https://bittrex.com/api/v1.1/public/getmarketsummaries
但我收到此错误:应解码 Array 但找到了字典。”,underlyingError: nil)
根据谷歌搜索结果,JSON Struct 不正确。
我可能在哪里犯了错误?
这是我的 JSON 结构;
struct MarketSummaries : Decodable{
let success : Bool?
let message : String?
let result : [SummaryResult]?
}
struct SummaryResult : Decodable{
let marketName : String?
let high : Double?
let low : Double?
let volume : Double?
let last : Double?
let baseVolume : Double?
let timeStamp : String?
let bid : Double?
let ask : Double?
let openBuyOrders : Int?
let openSellOrders : Int?
let prevDay : Double?
let created : String?
private enum CodingKeys : String, CodingKey {
case marketName = "MarketName", high = "High", low = "Low", volume = "Volume",
last = "Last", baseVolume = "BaseVolume", timeStamp = "TimeStamp", bid = "Bid",
ask = "Ask", openBuyOrders = "OpenBuyOrders", openSellOrders = "OpenSellOrders",
prevDay = "PrevDay", created = "Created"
}
}
这是我的 JSON 结构;
let url = URL(string: "https://bittrex.com/api/v1.1/public/getmarketsummaries")
let session = URLSession.shared
let task = session.dataTask(with: url!) { (data, response, error) in
if error != nil {}
else
{
if (data != nil)
{
do
{
let coins = try JSONDecoder().decode([MarketSummaries].self, from: data!)
DispatchQueue.main.async {
self.market = coins
self.table.reloadData()
}
}
catch
{
print(error)
}
}
}
}
task.resume()
【问题讨论】: