如何存储 Json 注册响应 API ?并得到 "The data couldn’t be read because it isn’t in the correct format." 的错误

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 对我的模型的响应 Class,但我收到错误消息“无法读取数据,因为它不在格式正确。”我的 Api 工作正常,唯一的问题是没有将我的数据存储到数据模型 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"
}

我的寄存器模型

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?