Как разобрать данный JSON, который содержит массив, используя ObjectMapper
import Foundation
import ObjectMapper
class MemberActivityCollection: Mappable
{
var TotalRows : Int = 0
var MemberActivityList : Array<MemberActivity> = Array()
var MemberID: Int = 0
init(){ }
internal required init?(map: Map) { }
// Mappable
func mapping(map: Map) {
MemberActivityList <- map["MemberActivityList"]
TotalRows <- map["TotalRows"]
MemberID <- map["MemberID"]
}
}
class MemberActivity: Mappable
{
var ActivityID: Int = 0
var fk_MemberID: Int = 0
var ActivityDate: String!
var ActivityFrom: String!
var ActivityTo: String!
var AvgPace: String!
init(){ }
internal required init?(map: Map) { }
// Mappable
func mapping(map: Map) {
ActivityID <- map["ActivityID"]
fk_MemberID <- map["fk_MemberID"]
ActivityDate <- map["ActivityDate"]
ActivityFrom <- map["ActivityFrom"]
ActivityTo <- map["ActivityTo"]
AvgPace <- map["AvgPace"]
}
}
Обратите внимание: класс MemberActivityCollection имеет массив классов MemberActivity.
Необходимо проанализировать JSON как MemberActivityCollection
{
"TotalRows" : 16,
"MemberActivityList" : [
{
"fk_MemberID" : 47,
"ActivityID" : 29,
"ActivityFrom" : "18:30:00",
"ActivityTo" : "14:30:00",
"AvgPace" : "3.00"
},
{
"fk_MemberID" : 47,
"ActivityID" : 26,
"ActivityFrom" : "01:07:46",
"ActivityTo" : "05:07:00",
"AvgPace" : "5.00"
},
{
"fk_MemberID" : 47,
"ActivityID" : 35,
"ActivityFrom" : "09:30:00",
"ActivityTo" : "04:15:00",
"AvgPace" : "0.06"
}
],
"MemberID" : 47
}
Использование следующего кода для сопоставления json с объектом класса MemberActivityCollection
Я объявляю свойство MemberActivityList неправильно?
Вся идея состоит в том, чтобы отобразить json в классе MemberActivityCollection, чтобы одно из его свойств ("MemberActivityList") могло содержать подробные данные
Добиться того, что я написал следующие строки кода и не получая желаемого результата (как уже упоминалось в приведенной выше строке).
let objMAC : MemberActivityCollection = Mapper<MemberActivityCollection>().map(JSONObject: jsonData)! //Datatype of jsonData variable is JSON
Приведенный выше оператор выдает сообщение об ошибке "EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP, subcode=0x0").
Пожалуйста, объясните правильный способ достижения этого.