SWIFT модель для разбора JSON - PullRequest
0 голосов
/ 29 июня 2018

Мне нужно проанализировать данные JSON. Для этого я буду использовать протокол Codable . Полученный json выглядит следующим образом (это та часть, которая меня интересует):

(
    {
        description = mySecondGist;
        files =         {
            "gistfile1.txt" =             {
                filename = "gistfile1.txt";
                language = Text;
                "raw_url" = "https://gist.githubusercontent.com/VladimirKhuraskin/9ca2362c09cebcc16bd74f51f267231a/raw/74caacd3ad3eedb369a07b926327d2ef37e3eefc/gistfile1.txt";
                size = 17;
                type = "text/plain";
            };
        };
    }
)

Я сделал эту модель:

struct Gists: Codable {
    var description: String?
    var files: DetailGist?

    private enum CodingKeys: String, CodingKey {
        case description
        case files
    }
}

struct DetailGist: Codable {
    var filename: String?
    var rawUrl: String?

    private enum FileCodingKeys: String, CodingKey {
        case filename
        case rawUrl = "raw_url"
    }
}

Это правильная модель? Или это нужно доработать? Я смущен

files =         {
            "gistfile1.txt" = 

спасибо!

1 Ответ

0 голосов
/ 29 июня 2018

Нет, файлы - это словарь. Вот что означают маркеры {} в JSON. Вы хотите, чтобы ваша модель Gists была

var files: [String: DetailGist]?
...