Convert Json to Property class

Hello,

I am begineer for IOS . I have searched my query many times but unable to find solution .Please provide the solution of my query. Thanks in advance.


My Json format is :

{"Data":[{"Address":"Suite+20+California+USA","DOB":"6\/28\/2016","EmailID":"gupta.sumit.20@gmail.com","Gender":"Male","Name":"john p smith","OTPStatus":"True","Phone":"919910218150","SessionId":"30"}],"Message":"True"}


And my property class (POCO)

import Foundation

class LoginModel{

varAddress:String{ get{returnself.Address;} set{self.Address= newValue}}

varDOB: String { get{returnself.DOB;} set{self.DOB = newValue}}

var EmailID : String{get{returnself.EmailID;} set{self.EmailID = newValue}}

var Gender : String {get{returnself.Gender;} set{self.Gender = newValue }}

var Name : String { get{returnself.Name;} set{self.Name = newValue}}

var OTPStatus : Bool {get{returnself.OTPStatus}
set{self.OTPStatus = newValue}}

var Phone : String {
get{returnself.Phone;} set{self.Phone = newValue}}

var SessionId :Int{get{returnself.SessionId;}set{self.SessionId = newValue;}

}

}



And i get api response in following format


let dataTask = session.dataTask(with: request as URLRequest) {

( data: Data?, response: URLResponse?, error: Error?) -> Void in

guard let httpResponse = response as? HTTPURLResponse, let receivedData = data

else {

print("error: not a valid http response")

return

}

switch (httpResponse.statusCode)

{

case 200:

let response = NSString (data: receivedData, encoding: String.Encoding.utf8.rawValue)

do {

let json = try JSONSerialization.jsonObject(with: receivedData) as? [String:Any],

// convert to property class object ???

// convert Json data in LoginModel

} catch {

print("error serializing JSON: \(error)")

}

break

}

}

dataTask.resume()

Before, going into JSON parsing, your `LoginModel` does not work. You are making many computed properties and every property accesses itself in its getter and setter, which cause infinite recursion and crashes your app. Forget something like POCO, Swift is not C#.


The answer depends on whether you can use Swift 4 or not. Your app needs to be released before the public release of Swift 4 (late this year)?


(I believe you can find many articles describing how to use the result of `JSONSerialization` and construct an object like your `LoginModel`. Search again with "How to use the result of JSONSerialization" or some words like that.)

This is one of the must-see articles when you work with JSON in Swift 3.

Working with JSON in Swift

Convert Json to Property class
 
 
Q