[英]How to Store Json Response Of Registration API ? and Getting error of "The data couldn’t be read because it isn’t in the correct format."
您好,我正在嘗試存儲我的 json 對我的 Model Class 的響應,但我收到錯誤消息“無法讀取數據,因為它的格式不正確。” 我的 Api 工作得非常好,唯一的問題是沒有將我的數據存儲到數據 Model Class 中。
這是我的詳細信息
我的 Json 響應
{
"flag": "1",
"message": "Data inserted.",
"customerId": "60",
"firstName": "fatehlal",
"lastName": "pra",
"animalName": "cat",
"isAround": "1",
"comapnyId": "2",
"company_logo": "http://192.168.1.228/public/img/logosign.png",
"company_name": "Admin",
"mobileNumber": "2345678901"
}
我的寄存器 Model
import Foundation
struct RegisterModel : Codable {
let flag : String?
let message : String?
let customerId : String?
let firstName : String?
let lastName : String?
let animalName : String?
let isAround : String?
let comapnyId : String?
let company_logo : String?
let company_name : String?
let mobileNumber : String?
enum CodingKeys: String, CodingKey {
case flag = "flag"
case message = "message"
case customerId = "customerId"
case firstName = "firstName"
case lastName = "lastName"
case animalName = "animalName"
case isAround = "isAround"
case comapnyId = "comapnyId"
case company_logo = "company_logo"
case company_name = "company_name"
case mobileNumber = "mobileNumber"
}
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
flag = try values.decodeIfPresent(String.self, forKey: .flag)
message = try values.decodeIfPresent(String.self, forKey: .message)
customerId = try values.decodeIfPresent(String.self, forKey: .customerId)
firstName = try values.decodeIfPresent(String.self, forKey: .firstName)
lastName = try values.decodeIfPresent(String.self, forKey: .lastName)
animalName = try values.decodeIfPresent(String.self, forKey: .animalName)
isAround = try values.decodeIfPresent(String.self, forKey: .isAround)
comapnyId = try values.decodeIfPresent(String.self, forKey: .comapnyId)
company_logo = try values.decodeIfPresent(String.self, forKey: .company_logo)
company_name = try values.decodeIfPresent(String.self, forKey: .company_name)
mobileNumber = try values.decodeIfPresent(String.self, forKey: .mobileNumber)
}
}
我的 Alamofire 方法
var registerDetail : RegisterModel?
AF.request("http://192.168.1.228/public/api/register", method: .post, parameters: param, encoding: JSONEncoding.default, headers: nil).response { response in
switch response.result {
case .success(let data) :
do {
print("SuccessFully Registerd")
debugPrint(response.response!)
let dataResponse = try JSONDecoder().decode(RegisterModel.self, from: data!)
self.registerDetail = dataResponse
} catch let error {
debugPrint(error.localizedDescription)
}
case .failure(let error):
print(error)
}
}
給定您的數據,使用: let isAround: Int?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.