在 Swift 中获取解析的 JSON 数据的索引

Posted

技术标签:

【中文标题】在 Swift 中获取解析的 JSON 数据的索引【英文标题】:Get Index of Parsed JSON data in Swift 【发布时间】:2020-08-20 17:50:27 【问题描述】:

以下是我的数据结构。我正在尝试创建一个循环来检查员工是否可以执行某项服务,但我无法让 employee.services 工作。 JSON 数据被加载到EmployeesData。我在想我需要从EmployeesData 获取索引,但我似乎不能用ForEach 来做?

ForEach(EmployeesData) employee in
  //This does not work
  if(employee.services[0] == "service")



struct Employees: Codable, Identifiable
  var id: UUID
  var firstname: String
  var lastname: String
  var services: [String]
  var workingStatus: String


//Store employee data in EmployeesData
let EmployeesData: [Employees] = load("Employees.json")

private func load<T: Decodable>(_ filename: String) -> T 
let data: Data

guard let file = Bundle.main.url(forResource: filename, withExtension: nil)
    else 
        fatalError("Couldn't find \(filename) in main bundle.")


do 
    data = try Data(contentsOf: file)
 catch 
    fatalError("Couldn't load \(filename) from main bundle:\n\(error)")


do 
    let decoder = JSONDecoder()
    return try decoder.decode(T.self, from: data)
 catch 
    fatalError("Couldn't parse \(filename) as \(T.self):\n\(error)")


【问题讨论】:

【参考方案1】:
if let index = employee.services.firstIndex(where: $0 == "service")

【讨论】:

以上是关于在 Swift 中获取解析的 JSON 数据的索引的主要内容,如果未能解决你的问题,请参考以下文章

JSON 数组 Swift 的索引

使用 swift 从解析的 Json 中提取数据

JSON数据未在swift3中使用Alamofire进行解析

在 Swift 中解析 JSON API [关闭]

Json解析Swift没有得到打印

使用 swiftyJSON 在 Swift 2.0 中解析 JSON 时获取空值