I'm learning to use SwiftyJSON and I'm trying to convert the resulted values into an array of MyStruct. However, whenever I try that, it tells me that they are not compatible. How can I convert [JSON] into [MyStruct]?
class TreatmentsManager: ObservableObject {
@Published var treatments = [Treatment]()
func testAlamofire() {
AF.request("http://dermaservice.theappmaster.com/Tratamiento.ashx").response { response in
switch response.result {
case .success(let value):
let json = JSON(value)
if let treatmentArray = json["Tratamientos"].array {
self.treatments = treatmentArray
//[MyStruct] type /= [JSON] type
}
case .failure(let error):
print(error)
}}}}
Thanks to @VishalPatel, i figured out how to do it:
class TreatmentsManager: ObservableObject {
@Published var treatments = [Treatment]()
func testAlamofire() {
AF.request("http://dermaservice.theappmaster.com/Tratamiento.ashx").response { response in
switch response.result {
case .success(let value):
do {
let results = try JSONDecoder().decode(TreatmentList.self, from: value!)
DispatchQueue.main.async {
self.treatments = results.Tratamientos
}
} catch {
print(error)
}
case .failure(let error):
print(error)
}
}
}
}
Where TreatmentList is a struct containing [Treatments]. So there is not need to use SwiftyJSON