首页 文章

当特定键与SwiftyJSON匹配时,如何在Dictionary for JSON中搜索所有项目?

提问于
浏览
-3

我是JSON Parsing世界的新手,但我有一个JSON文件,其中包含世界上所有机场的数据,我希望在机场ID与用户请求的内容匹配时获取有关机场的所有信息 .

例如 [{"id":"59","employee_name":"test","employee_salary":"0","employee_age":"0","profile_image":""},{"id":"60","employee_name":"hello","employee_salary":"123","employee_age":"23","profile_image":""},{"id":"63","employee_name":"Davron","employee_salary":"95000","employee_age":"34","profile_image":""},{"id":"66","employee_name":"Davron","employee_salary":"95000","employee_age":"34","profile_image":""},{"id":"71","employee_name":"test","employee_salary":"123","employee_age":"23","profile_image":""},{"id":"72","employee_name":"test","employee_salary":"123","employee_age":"23","profile_image":""}]

如果上面的JSON是我的实际JSON,如果id是59,我想要该特定ID的员工姓名,工资,年龄和 Profiles 图片 . 我怎样才能做到这一点?

1 回答

  • -1

    你可以试试

    struct Root:Codable {
        let id, employeeName, employeeSalary, employeeAge,profileImage: String 
    }
    

    let decoder = JSONDecoder() 
    decoder.keyDecodingStrategy = .convertFromSnakeCase
    do {
         let res = try decoder.decode([Root].self,from:data)
         let con = res.filter { $0.id == "59" }
       }
    catch {
     print(error)
    }
    

    OR

    if let emp = res.first(where{ $0.id == "59" }) {
       print(emp)
    }
    

相关问题