Looking at their sample response
{
"data": [
{
"id": "90",
"symbol": "BTC",
"name": "Bitcoin",
"nameid": "bitcoin",
"rank": 1,
"price_usd": "6456.52",
"percent_change_24h": "-1.47",
"percent_change_1h": "0.05",
"percent_change_7d": "-1.07",
"price_btc": "1.00",
"market_cap_usd": "111586042785.56",
"volume24": 3997655362.9586277,
"volume24a": 3657294860.710187,
"csupply": "17282687.00",
"tsupply": "17282687",
"msupply": "21000000"
}],
"info": {
"coins_num": 1969,
"time": 1538560355
}
}
*note it has a closing ']' missing
you can create a swift model like so using
import Foundation
let json = "{\r\n \"data\": [\r\n {\r\n \"id\": \"90\",\r\n \"symbol\": \"BTC\",\r\n \"name\": \"Bitcoin\",\r\n \"nameid\": \"bitcoin\",\r\n \"rank\": 1,\r\n \"price_usd\": \"6456.52\",\r\n \"percent_change_24h\": \"-1.47\",\r\n \"percent_change_1h\": \"0.05\",\r\n \"percent_change_7d\": \"-1.07\",\r\n \"price_btc\": \"1.00\",\r\n \"market_cap_usd\": \"111586042785.56\",\r\n \"volume24\": 3997655362.9586277,\r\n \"volume24a\": 3657294860.710187,\r\n \"csupply\": \"17282687.00\",\r\n \"tsupply\": \"17282687\",\r\n \"msupply\": \"21000000\"\r\n }],\r\n \"info\": {\r\n \"coins_num\": 1969,\r\n \"time\": 1538560355\r\n }\r\n}"
struct Tokens: Codable {
let data: [SomeData]
}
struct SomeData: Codable {
let priceUsd: String
enum CodingKeys: String, CodingKey {
case priceUsd = "price_usd"
}
}
let tokens = try? JSONDecoder().decode(Tokens.self, from: json.data(using: .utf8)!)
print(tokens?.data.first?.priceUsd)
// edited my earlier answer, run the above it should get you your price