Hi there, i am new to mac os application development. Actually i am trying to decode one json object but getting error " Type Missmatch" i do not know how to create a proper structure for parsing json. I have following codes:-
JSON FROM SERVER:
--------------------------
{
"message": "Student Found",
"student": {
"studentID": "ST000000195",
"name": "RAVI VARMA",
"phone": "7873500016",
"email": "ravi@gmail.com",
"specialisation": "SP002",
"yearOfJoining": "2015",
"keyCode": "1111111111",
"schoolID": "BS00001",
"registrationID": "UNOX001",
"batchID": "BA000000001",
"usingOS": "Windows",
"loginID": "LU000000317",
"course": "CO0000001",
"macID": "0.0.0.0",
"bulkUpload": null,
"createdBy": "LU000000011",
"createdOn": "2018-08-07T12:08:55",
"updatedBy": "LU000000011",
"updatedOn": "2018-08-14T00:00:00",
"address": "KARNOOL, AP",
"gender": "Female",
"status": 1
}
}
Serialization
if let responseJSON = try JSONSerialization.jsonObject(with: data!) as? [String:AnyObject]{
if(responseJSON.count == 2){
self.parseJSON(data: data!)
My structure
struct StudentLogin: Decodable
{
struct StudentLoginMessage{
public var message:String
}
struct StudentLoginData{
public var studentID:String
public var name:String
public var phone:String
public var email:String
public var specialisation:String
public var yearOfJoining:String
public var keyCode:String
public var schoolID:String
public var registrationID:String
public var batchID:String
public var usingOS:String
public var loginID:String
public var course:String
public var macID:String
public var bulkUpload:String
public var createdBy:String
public var createdOn:Date
public var updatedBy:String
public var updatedOn:Date
public var address:String
public var gender:String
public var status:String
}
}
var studentdata = [StudentLogin]()
I am trying to do like this
func parseJSON(data: Data){
do {
let decoder = JSONDecoder()
self.studentdata = try decoder.decode([StudentLogin].self, from: data)
} catch let error {
print(error as? Any)
}
}
Can anyone suggest me the proper way to parse the json correctly please.