首页 > 解决方案 > 解析 JSON 并将其转换为变量

问题描述

SWIFT4 JSON PARSING FIREBASE 我有一个解析的 JSON,我如何将电子邮件和用户名从它获取到变量?以及如何从中获取城市名称到城市名称数组?

struct User: Codable {

let email: String
let username: String
let cities: [city]
}
struct city: Codable {
   let cityname: String
}
if snapshot.exists()
            {
                print(snapshot)
                guard let value = snapshot.value else { return }
                do {
                    let parsedData = try        FirebaseDecoder().decode([User].self, from: value)
                    print(parsedData)
                } catch let error {
                    print(error)
                }
            }


JSON: Snap (users) {
     0 = {
     cinemas = {
         0 = {
             cityname = Kazan;
             };
         1 = {
             cityname = Kursk;
             };
         2 = {
             cityname = Volgograd;
             };
     };
     email = "placeholder@gmail.com";
     username = “Alex”;
     };
}

标签: iosjsonfirebaseparsingswift4

解决方案


你可以尝试循环

parsedData.forEach {

  print($0.email)

}

如果是 1 个用户,那么

if ler user = parsedData.first  {  
   print(user.email)
   let cities = user.cities.map { $0.cityname }
   print(cities)
}

推荐阅读