簡體   English   中英

使用 Swift 解析 JSON 文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM