【问题标题】:Printing from a dictionary single values从字典中打印单个值
【发布时间】:2021-12-19 05:22:35
【问题描述】:

目前正在尝试从 teams:[Team] 字典中打印所有 strTeam。 我们将不胜感激。

如果您发现任何其他错误,请告诉我。谢谢。

import UIKit

class ViewController2: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        print("testing")
        
        let url = "https://www.thesportsdb.com/api/v1/json/1/search_all_teams.php?l=English_Premier_League"
        getData(from: url)

        // Do any additional setup after loading the view.
    }
    
    func getData(from url:String){
        
        let task = URLSession.shared.dataTask(with: URL(string: url)!, completionHandler: {data, response, error in
            guard let data = data, error == nil else{
                print("something went wrong")
                return
            }
            
            // Received the data
            var result: Response?
            
            do{
                result = try JSONDecoder().decode(Response.self, from: data)
            }
            catch{
                print("failed to connect \(error.localizedDescription)")
            }
            
            guard let json = result else {
                return
            }
            
            print(json.teams)
            // WOULD LIKE TO ONLY PRINT all teams.strTeam HERE
            
            
        })
        task.resume()
    }

}

struct Response: Codable {
    let teams: [Teams]
}

struct Teams: Codable{
    let strTeam : String
    let strStadium : String
}

我尝试了 json.teams.strTeam 但出现错误。

我知道 json.teams[i].strTeam 给了我一个值,但我想打印所有 strTeam 值。

这可能非常简单,但我刚开始学习 Swift。

【问题讨论】:

  • 这两个答案都解决了您的问题吗?

标签: json swift struct jsondecoder


【解决方案1】:

您可以通过这样做map strTeam 值:

print(json.teams.map(\.strTeam))

map 函数接受一个数组并将其转换为一个新数组。在本例中,我们采用 Teams 的原始数组并将其转换为仅包含每个项目的 strTeam 属性的数组。

【讨论】:

    【解决方案2】:
       for name in json.teams {
           print("WOULD LIKE TO ONLY PRINT all teams.strTeam HERE", name.strStadium)
       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-23
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      相关资源
      最近更新 更多