我有一個從API中提取的JSON數據,其中一個關鍵是"24h_volume"
。如何超越Swift 4的Var命名限制?
當我試圖把24h_volume
作爲不斷我Decodable struct
給我的錯誤中:
Expected a digit after integer literal prefix.
據我瞭解,雨燕語法不允許變量名以數字。
什麼是最簡單的方法來超越這個限制,併成功從源頭拉數據?
我有一個從API中提取的JSON數據,其中一個關鍵是"24h_volume"
。如何超越Swift 4的Var命名限制?
當我試圖把24h_volume
作爲不斷我Decodable struct
給我的錯誤中:
Expected a digit after integer literal prefix.
據我瞭解,雨燕語法不允許變量名以數字。
什麼是最簡單的方法來超越這個限制,併成功從源頭拉數據?
不清楚你的問題,但是,如果你使用的是Swift 4 JSON解碼支持,你可以定義一個自定義的CodingKeys
枚舉。例如:
struct Data: Decodable {
var volume24: String
var xxx: String
...
enum CodingKeys: String, CodingKey {
case volume24 = 「24h_volume」
case xxx
case ...
}
}
必須再定義每個屬性case
您struct
,否則會被JSONDecoder
被忽略。
問題是什麼? Swift屬性不必與JSON字典鍵具有相同的名稱。 –
當我在Swift 4中解碼JSON時,它將所有的值賦給它們在類中的相對名稱。所以當我給類中的常量賦予確切的名字時,我從下載的數據中獲得它們的值。 – sc13
你沒有告訴你使用的是Swift 4或JSONDecoder ... –