Декодирование многоуровневого JSON в структуры с помощью Swift 4 - ноль - PullRequest
0 голосов
/ 15 мая 2018

это обратная связь с сервером данных объекта, я планирую декодировать ее в свою структуру с помощью swift4.0 JSONDecoder, но я сталкиваюсь с некоторой проблемой, результат всегда nil:

{
"code":"000000",
"isAutoRequest":0,
"message":"wwwwwww",
"ruleList":[
    {
        "rateList":[{
                "rate":"2.1",
                "rateCode":1,
                "rateName":1
            },{
                "rate":"2.1",
                "rateCode":2,
                "rateName":2
            },{
                "rate":"2.1",
                "rateCode":3,
                "rateName":3
            }],
        "ruleCode": "sanjundaxiao",
        "ruleName": "eeeeee",
        "sort": "07"
    },
    {
        "rateList":[{
                "rate": "185",
                "rateCode": 111,
                "rateName": 111
            },{
                "rate": "185",
                "rateCode": 222,
                "rateName": 222
            }],
        "ruleCode": "code2",
        "ruleName": "eeeqqqqq",
        "sort": "08"
    }]

}

это моя структура для декодирования данных сервера:

struct GroupRateModel:Codable {
    var isAutoRequest:String?
    var ruleList:[RuleRateList]?
    var code:String?
    var message:String?
}

struct RuleRateList:Codable {
    var rateList:[RateList]?
    var ruleCode:String?
    var ruleName:String?
    var sort:String?
}

struct RateList:Codable {
    var rate:String?
    var rateCode:String?
    var rateName:String?
}

Я использую следующий код для декодирования данных, но результат (dataModel равен нулю) всегда равен нулю, я не знаю, где находитсянеправильно, я новый парень для быстрых, надеюсь, кто-то может показать мне правильный путь, спасибо!

 let decoder = JSONDecoder()
 let resultData = try? JSONSerialization.data(withJSONObject: resultDic, options: [])
 if let data = resultData{
    let dataModel = try? decoder.decode(GroupRateModel.self, from: data)
}
...