Convert string json data to list Object
1. Class:
2. Request - Response:
response json should return like:
struct LabourCharge : Codable{
var ID : Int!
var CustGroup: String!
var CalloutFee: Double!
var IncludedTime : Double!
var LabourRate: Double!
var PerTime: Double!
init(id: Int, custGroup: String, calloutFee: Double, includedTime: Double, labourRate: Double, perTime: Double) {
self.ID = id
self.CalloutFee = calloutFee
self.CustGroup = custGroup
self.IncludedTime = includedTime
self.LabourRate = labourRate
self.PerTime = perTime
}
}
2. Request - Response:
response json should return like:
(
{
CalloutFee = 150;
CustGroup = Retail;
Id = 1;
IncludeTime = 1;
LabourRate = 30;
PerTime = "0.25";
},
{
CalloutFee = 200;
CustGroup = COD;
Id = 2;
IncludeTime = 1;
LabourRate = 30;
PerTime = "0.25";
},
{
CalloutFee = 150;
CustGroup = BUS;
Id = 3;
IncludeTime = 0;
LabourRate = 25;
PerTime = "0.25";
}
)
* field names must be the same and the same data type
func LoadLabourCharges(completion : @escaping (Result<[LabourCharge], Error>) -> Void) {
let token = Utility().getAccessTokenOut();
let endPoint: String = Constants().baseUrlOut + Constants().loadLabourCharges
let param = ["": ""]
Alamofire.request(endPoint, method: .get, parameters: nil, encoding: JSONEncoding.default , headers: ["Authorization":"Bearer " + token, "Content-Type": "application/json"]).responseJSON {
response in
print("response: \(response)")
print("response.response?.statusCode: \(response.response?.statusCode)")
print("response.result.value: \(response.result.value)")
switch response.result{
case .success:
let json = response.data
do{
let decoder = JSONDecoder()
let list = try decoder.decode([LabourCharge].self, from: json!)
completion(.success(list))
return
}catch (let error){
let code = (error as NSError).code
print("error.ErrorDecsription: \(error.ErrorDecsription)")
print ("code: \(code)")
completion(.failure(error.ErrorDecsription))
return
}
case .failure(let error):
completion(.failure(error.ErrorDecsription))
return
}
}
return
}
Comments
Post a Comment