簡體   English   中英

如何存儲 Json 注冊響應 API? 並出現“無法讀取數據,因為它的格式不正確”的錯誤。

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM