rikidev Ответов: 0

Чтение массива многомерного json с помощью swift


Привет, ребята, я должен прочитать json с swift в следующем формате:
  { IdCantiere: 324,
  IdCliente: 171,
  Filiale: 'SEDE',
  RagioneSociale: '--',
  NomeCantiere: '--',
  DataCreazioneCantiere: 2018-01-25T17:47:21.643Z,
  Tipologia: 'Consuntivo',
  StatoCantiere: 'Chiuso',
  StatoFatturazione: 0 },
{ IdCantiere: 329,
  IdCliente: 271,
  Filiale: 'SEDE',
  RagioneSociale: '--',
  NomeCantiere: '--',
  DataCreazioneCantiere: 2018-01-30T10:00:42.227Z,
  Tipologia: 'Consuntivo',
  StatoCantiere: 'InCorso',
  StatoFatturazione: 0 },


Как я могу прочитать этот json? Я попробовал с приведенным ниже решением но я печатаю все возвращаемые json я хотел бы получить отдельные поля

Что я уже пробовал:

Мой Swift Код:

let db = Database()
       let json: [String: Any] = ["NomeCantiere": "" + NomeCantiere]
       let jsonData = try? JSONSerialization.data(withJSONObject: json)
       var request = URLRequest(url: URL(string: db.GetServerURL() + "/cantieri/ricerca")!)
       request.httpMethod = "POST"
       request.httpBody = jsonData
       let task = URLSession.shared.dataTask(with: request) { data, response, error in
           guard let data = data, error == nil else {
               print(error?.localizedDescription ?? "No data")
               completion("")
               return
           }
           let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
           if let responseJSON = responseJSON as? [String: Any] {
               let read = responseJSON["return"]!
               print("Valore: ",read)
               completion("")
           }
       }
       task.resume()


другие пробовали:

let db = Database()
       let json: [String: Any] = ["NomeCantiere": "" + NomeCantiere]
       let jsonData = try? JSONSerialization.data(withJSONObject: json)
       var request = URLRequest(url: URL(string: db.GetServerURL() + "/cantieri/ricerca")!)
       request.httpMethod = "POST"
       request.httpBody = jsonData
       let task = URLSession.shared.dataTask(with: request) { data, response, error in
           guard let data = data, error == nil else {
               print(error?.localizedDescription ?? "No data")
               completion("")
               return
           }
           //let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
           do {
               if (try JSONSerialization.jsonObject(with: data, options:[]) as? [String:Any]) != nil {
                   //print(json)
                   var ret = [String:Any]()
                   for json in ret{
                       print(ret["RagioneSociale"] as! String)
                   }
               }
           } catch let err{
               print(err.localizedDescription)
           }
           completion("")
       }
       task.resume()

0 Ответов