我知道這可能是一個簡單的答案,但對我來說很難。我有一個 Swift JSON 檔案,它成功加載到我的 UserData 變數中。但我想從那個資料集中得到一個值。我收到錯誤:“[UserData]”型別的值沒有成員“狀態”
[
{
"state":"Alaska",
"latitude":61.3850,
"longitude":-152.2683,
"stateTax":"7%"
},
{
"state":"Alabama",
"latitude":32.7990,
"longitude":-86.8073,
"stateTax":"13.5%"
},
{
"state":"Arkansas",
"latitude":34.9513,
"longitude":-92.3809,
"stateTax":"11.625%"
}
]
我的資料集 UserData:
[LoadFromJSON.UserData(state: "Alaska", latitude: 61.385, longitude: -152.2683, stateTax: "7%"), LoadFromJSON.UserData(state: "Alabama", latitude: 32.799, longitude: -86.8073, stateTax: "13.5%"), LoadFromJSON.UserData(state: "Arkansas", latitude: 34.9513, longitude: -92.3809, stateTax: "11.625%")]
我的代碼和錯誤行:
do {
let data = try Data(contentsOf: fileLocation)
let jsonDecoder = JSONDecoder()
let dataFromJson = try jsonDecoder.decode([UserData].self, from: data)
self.userData = dataFromJson
print(userData)
print(dataFromJson.state) // Value of type '[UserData]' has no member 'state'
} catch {
print(error)
}
uj5u.com熱心網友回復:
dataFromJson是陣列UserData,所以你需要像這樣迭代。
do {
let data = try Data(contentsOf: fileLocation)
let jsonDecoder = JSONDecoder()
let dataFromJson = try jsonDecoder.decode([UserData].self, from: data)
self.userData = dataFromJson
dataFromJson.forEach{ user in
print(user.state)
}
print(userData)
} catch {
print(error)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/415454.html
標籤:
