[英]Parsing JSON file using Swift
以下是我們JSON
文件中團隊的一般結構:
{"Team11":{
"results":{
"leg1":[
{"g":"m","n":"Name1"}
],"leg2":[
{"g":"m","n":"Name2"}
],"leg3":[
{"g":"m","n":"Name3"}
],"leg4":[
{"g":"m","n":"Name4"}
],"leg5":[
{"g":"m","n":"Name5"}
],"leg6":[
{"g":"m","n":"Name6"}
],"leg7":[
{"g":"m","n":"Name7"},{"g":"m","n":"Name8"}
]
},"tn":"TeamName",
"division":"co"
}
}
到目前為止,我們能夠將結果分類為leg1、leg2 等。到目前為止,訪問括號數組中包含的信息還沒有奏效。
我目前關於它為什么失敗的想法是因為我們通過String:Any
錯誤地存儲了JSON
團隊。
我的另一個理論是我一直無法找到正確的文檔。 關於在哪里看或提示的任何指示都會很大!
確保添加對您無效的內容以及您嘗試過的內容? 作為新貢獻者,您需要學習如何發布問題。 試試我下面的答案。
使用Codable
解析JSON
如下所示,
let welcome = try? newJSONDecoder().decode(Welcome.self, from: jsonData)
// Welcome
struct Welcome: Codable {
let team11: Team11
enum CodingKeys: String, CodingKey {
case team11 = "Team11"
}
}
// Team11
struct Team11: Codable {
let results: [String: [Result]]
let tn, division: String
}
// Result
struct Result: Codable {
let g, n: String
}
注意:您的 JSON 缺少開放和結束的大括號,我已經在您的問題中更新了這一點。
您是否嘗試手動解析 JSON? 我不確定您的代碼在哪里,但將 JSON 字符串解析為對象的標准方法是:
let jsonData = myJSONString.data(using: .utf8)
不過,您的 JSON 存在問題。 您可以在此鏈接上驗證 JSON 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.